MSBuild не включает встроенные ресурсы (nhibernate hbm.xml) в двоичном - PullRequest
0 голосов
/ 24 октября 2018

Я работаю над проектом библиотеки классов .net, который использует .net framework 4.6.2.Этот проект использует NHibernate и содержит большое количество файлов hbm.xml для отображения между таблицами БД и объектами.Файлы * .hbm.xml в моем проекте имеют действие сборки 'Embedded Resource' и выглядят так в csproj.files

Когда я собираю проект на своем локальном компьютере в режиме отладки иливыпуск (по сравнению с 2017 г. (15.8.4) MSBuild 15.7.179) все работает нормально, встроенные ресурсы включаются в двоичный файл.

Однако, когда Buildserver клонирует репозиторий git (после полной очисткипроект) и компилирует проект, встроенные ресурсы не включены.Buildserver (мы используем Teamcity) также имеет установленную версию .net Framework 4.6.2 и VS 2017 (также как и мой локальный компьютер) и также использует MSBuild 15.7.179

[12:21:37] [Шаг 2/7] Построение решения .... \ My ***. Sln

[12:21:37] [Шаг 2/7] Microsoft (R) Build Engine версия 15.7.179.6572для .NET Framework

Двоичный файл, полученный в процессе сборки, NOT содержит какие-либо (нулевые) встроенные ресурсы

Странная часть - когда я запускаю команды сборкиВ PowerShell, под той же учетной записью Windows для Teamcity, скомпилированный двоичный файл содержит встроенный ресурс ??Мы уже перезагрузили и установили самые последние обновления Windows на сервере сборки.

Я использую JustDecomplile (Telerik) для исследования бинарного файла.

Кто-нибудь знает, как это странное поведение.

Thx.

1 Ответ

0 голосов
/ 29 октября 2018

Мой коллега нашел решение, вместо ' compile ' это должен быть параметр ' build ', который мы передали в msbuild.Очевидно, compile ничего не делает со встроенными ресурсами.

initial: $ msbuild $ SolutionFile "/ t: restore; компилировать" "/ p: Configuration = $ buildConfiguration; Platform = $ buildPlatform;

решение: $ msbuild $ SolutionFile "/ t: restore; build" "/ p: Configuration = $ buildConfiguration; Platform = $ buildPlatform;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...