Зависимости проекта подстановочного знака - PullRequest
0 голосов
/ 21 июня 2019

Начал использовать ядро ​​.net. У нас есть много библиотек в одной папке, содержащей целое программное решение, разработанное годами. Часть его начала использовать ядро ​​.net. Раньше мы выпускали исправления с несколькими модифицированными библиотеками для производственной среды с увеличенным номером версии. Очевидно, ядро ​​.net проверяет точную версию зависимостей dll, поэтому, когда мы выпускаем патч с измененным dll, от которого зависит dll ядра .net, приложение не начнет писать ошибку, которая не может загрузить файл или сборку xxx.dll, версия = 1.2 .3.4.

Мы используем зависимости проекта. файл csproj

Можно ли отменить проверку версии для сравнения только первых 2 цифр версии или вообще пропустить проверку версии (у нас есть собственная система проверки версии dll в программном обеспечении)?

1 Ответ

1 голос
/ 21 июня 2019

Сильная ссылка (в файле .csproj) выглядит следующим образом:

<Reference Include="MyLibrary, Version=2.9.4.2, Culture=neutral, PublicKeyToken=85089178b9ac3181, processorArchitecture=MSIL">
  <HintPath>..\lib\lib\net40\MyLibrary.dll</HintPath>
</Reference>

Если DLL отсутствует, вы получите ту ошибку, которую вы описали.Чтобы избежать этого, вы полностью удаляете номер версии.Это я называю слабой ссылкой:

<Reference Include="MyLibrary">
  <HintPath>..\lib\lib\net40\MyLibrary.dll</HintPath>
</Reference>

Если вы контролируете все, чем слабая ссылка - это хорошо.Но будьте осторожны с этим.MSBuild имеет тенденцию смотреть по всему компьютеру.Так что лучше иметь точный <HintPath>.

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