Удалить номер версии из ссылки (исключая ошибку «Не удалось загрузить файл или сборку ...»)? - PullRequest
2 голосов
/ 01 сентября 2010

В моей библиотеке классов я ссылаюсь на DLL из папки bin моего сайта.Иногда библиотеки DLL в папках bin обновляются, а затем я получаю сообщение об ошибке:

    Could not load file or assembly 'MyAssembly.Sub, Version=3.7.2096.3, Culture=neutral,
 PublicKeyToken=dfeaee3f6978ac79' or one of its dependencies. The located assembly's
 manifest definition does not match the assembly reference.
(Exception from HRESULT: 0x80131040)

Как игнорировать номер версии, чтобы библиотеки DLL могли обновляться без приложения, ищущего конкретный номер версии??Не могу просто искать только пространство имен?

Вот как выглядит ссылка в моем файле .csproj:

<Reference Include="MyAssembly.Sub, Version=3.7.2057.3, Culture=neutral, PublicKeyToken=dfeaee3f6978ac79, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\SomeWebsite\bin\MyAssembly.Sub.dll</HintPath>
  <Private>False</Private>
</Reference>

Ответы [ 4 ]

2 голосов
/ 01 сентября 2010

Можно использовать перенаправление привязки сборки , указанное в web.config. Я не уверен, что вы можете сказать «всегда использовать последнюю версию», но вы можете указать конкретную версию. При обновлении развертываемой версии просто обновите также файл web.config.

Подробнее о перенаправлении привязки сборки читайте в статье MSDN об этом .

1 голос
/ 04 июня 2011

На самом деле проще установить для свойства конкретной версии значение false.

1 голос
/ 01 сентября 2010

Не уверен, что вы имеете в виду, но есть перенаправление сборки

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

Я так понимаю, это проблема, которая возникает во время разработки. Сборка в папке bin обновляется в результате некоторых действий по разработке.

Вы используете строго именованные сборки во время разработки. Ссылка на сборку со строгим именем работает только тогда, когда в ссылке указана точная версия сборки.

Возможно, вам лучше не подписывать сборки при разработке и отладке. Ссылка на сборку, которая не имеет строгого имени, намного проще. Я считаю, что подходящего имени файла достаточно.

В производственных условиях сильные имена, безусловно, хорошая идея.

...