Правильная ссылка на MapPoint DLL

У меня есть приложение C#, ссылающееся на библиотеку элементов управления ActiveX «Microsoft MapPoint 18.0 Object Library (Северная Америка)» — я добавил это в разделе «Ссылки» в своем проекте.

Приложение создается, и я помещаю try/catch вокруг вызова new MapPoint.Application(), чтобы я мог определить, установлен ли MapPoint, и отображать сообщение об ошибке, когда эта часть приложения недоступна, т. е. мое приложение не работает. не требует MapPoint, он просто имеет некоторые дополнительные функции, если MapPoint доступен.

Проблема в том, что теперь у меня есть зависимость во время компиляции от двоичных файлов MapPoint — приложение не может быть построено на рабочей станции, на которой не установлен MapPoint.

Это можно обойти?


person mindplay.dk    schedule 06.09.2011    source источник
comment
это не настоящая проблема, как вы говорите, приложение не может быть собрано без этих двоичных файлов ... но после того, как вы построили, вы можете распространять выходные данные сборки, и оно должно работать. Чтобы ссылаться на эти файлы и строить с их помощью, очевидно, вам нужны эти ссылочные файлы во время сборки :)   -  person Davide Piras    schedule 07.09.2011
comment
нет способа скопировать минимальное подмножество этих файлов и связать их с двоичными файлами? или какой-то способ извлечь из моей рабочей станции все, что требуется для сборки? все, что ему нужно построить, это то, что требуется для ссылки на DLL, верно? (Я попытался скопировать файл TLB из папки установки MapPoint, но этого оказалось недостаточно...)   -  person mindplay.dk    schedule 07.09.2011
comment
конечно, есть способ, у вас есть несколько записей в узле ссылок в Visual Studio, выберите их, щелкните правой кнопкой мыши, свойства и установите для локального копирования значение true. После того, как вы построили и эти файлы находятся в выходной папке сборки, скопируйте их в подпапку в дереве исходного кода, удалите старые ссылки и создайте ссылки на файлы оттуда, проверьте все в системе управления версиями, и теперь у того, кто выполняет проверку, также есть эти файлы с исходниками и можно строить.   -  person Davide Piras    schedule 07.09.2011
comment
Copy Local имеет значение false и неактивно. Хммм...   -  person mindplay.dk    schedule 07.09.2011


Ответы (1)


Когда вы добавляете ссылку на свой проект, VS должен создать для вас файл взаимодействия. Это все, что вам нужно для компиляции, поэтому вы можете поместить его в общедоступное место или в свой инструмент SCM.

person bmm6o    schedule 06.09.2011