MSBuild пытается загрузить dll с задачами из GAC - PullRequest
1 голос
/ 21 марта 2019

Сбой MSBuild при использовании элемента UsingTask с атрибутом AssemblyFile .Не удается найти сборку при импорте задачи следующим образом:

<UsingTask AssemblyFile="$(MSBuildThisFileDirectory)ESRI.ArcGIS.Server.SDK.BuildTasks.dll" TaskName="GenerateServerAddInXml" />

Файл сборки, однако, существует и находится в правильном пути.Журнал Fusion показывает, что MSBuild не потрудился выполнить поиск по указанному пути, а проверяет только в каталоге MSBuild.exe, а затем в GAC, где отсутствует dll.

LOG: Post-policy reference: ESRI.ArcGIS.Server.SDK.BuildTasks, Version=10.6.0.0, Culture=neutral, PublicKeyToken=8fc3cc631e44ad86
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/MSBuild/15.0/Bin/ESRI.ArcGIS.Server.SDK.BuildTasks.DLL.
LOG: Attempting download of new URL file:///C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/MSBuild/15.0/Bin/ESRI.ArcGIS.Server.SDK.BuildTasks/ESRI.ArcGIS.Server.SDK.BuildTasks.DLL.
LOG: Attempting download of new URL file:///C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/MSBuild/15.0/Bin/ESRI.ArcGIS.Server.SDK.BuildTasks.EXE.
LOG: Attempting download of new URL file:///C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/MSBuild/15.0/Bin/ESRI.ArcGIS.Server.SDK.BuildTasks/ESRI.ArcGIS.Server.SDK.BuildTasks.EXE.

MSDN говорит, что атрибут AssemblyFile эквивалентен методу Assembly.LoadFrom в .NET.

Интересно, что этот же механизм работает на другую DLL просто отлично.Есть идеи, где проблема может быть?На самом деле есть разница между этими dll - последняя не имеет строгой подписи.

Обновление: Я удалил сильную подпись из dll (с помощью ildasm и ilasm ) и все равно не работает.

...