SQL SMO сборки не развертываются при публикации
У меня есть небольшая проблема с развертыванием ряда сборок, связанных с SMO. У меня есть следующие 5 ссылок в моем проекте:
![enter image description here]()
Каждый из них является DLL файлом в папке библиотек, в которую были добавлены ссылки, и для каждого из них установлено значение Копировать Local = true. Файл проекта показывает все это в порядке, например:
<Reference Include="Microsoft.SqlServer.Smo, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>..\Libraries\Microsoft.SqlServer.Smo.dll</HintPath>
<Private>True</Private>
</Reference>
Проблема в том, что каждый раз, когда я публикую Visual Studio на своем ПК, сборки не копируются. То же самое, когда я публикую через TeamCity (который определенно не имеет SQL Server или SMO SDK). Я могу скопировать сборки вручную, и все работает нормально (без зависимости от GAC), но, очевидно, я хотел бы инкапсулировать это в процессе развертывания.
Что может помешать публикации этих сборников?
Ответы
Ответ 1
Я считаю, что вы не должны просто копировать DLL при развертывании приложения на основе SMO. См. Эту ссылку: Распространение приложения, использующего объекты управления SQL Server. Я цитирую:
Если вы разрабатываете приложение, использующее объекты управления SQL Server, вам необходимо убедиться, что необходимые файлы поддержки присутствуют на компьютер с приложением. Пакет функций SQL Server 2008 содержит распространяемый пакет для управления SQL Server Объекты.
Вам нужно будет получить SharedManagementObjects.msi из этой ссылки для скачивания: http://www.microsoft.com/download/en/details.aspx?id=16978
Ответ 2
Сотрудник Microsoft Моника Ривера подтвердила в поток MSDN, что это прекрасно, чтобы связать DLL с вашим приложением:
Здесь другой путь. Вы можете включить необходимые библиотеки DLL в свою сборку из проекта VS. Если вы выберите ссылку в проекте и измените свойство "Скопировать местное" на "Истина", соответствующая DLL будет включена в сборку.
Итак, в соответствии с потоком MSDN оба решения в порядке.