System.Collections.Immutable.dll заменяется из пакета Microsoft.Net.Compilers - PullRequest
0 голосов
/ 09 апреля 2019

Я ссылаюсь на system.collections.immutable.dll из пакета nuget, и у меня также установлен пакет nuget для Microsoft.Net.Compilers.У меня все работает нормально, но когда я нажимаю свой код на бамбуке, во время выполнения я получаю Could not load file or assembly 'System.Collections.Immutable, Version=1.2.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Когда я проверял журналы на бамбуке, когда он генерирует артефакты, я вижу, что изначально он скопировал правильныеdll здесь:

build 04-Apr-2019 03:20:33 Copying file from "E:\agt01\ENS-EB580-JOB1\Bin\Packages\System.Collections.Immutable.1.5.0\lib\netstandard1.0\System.Collections.Immutable.dll" to "E:\agt01\ENS-EB580-JOB1\Binaries\Release\\temp\Web\_PublishedWebsites\MyService\bin\System.Collections.Immutable.dll".

но затем в какой-то момент он заменил эту DLL следующим образом: build 04-Apr-2019 03:20:33 Copying file from "E:\agt01\ENS-EB580-JOB1\Bin\Packages\Microsoft.Net.Compilers.1.0.0\tools\System.Collections.Immutable.dll" to "E:\agt01\ENS-EB580-JOB1\Binaries\Release\\temp\Web\_PublishedWebsites\MyService\bin\System.Collections.Immutable.dll".

Как я могу убедиться, что бамбук не заменяетэто dll и просто использует его из установленного пакета nuget?

Обновление: обновление: я обновил пакет Microsoft.CodeDom.Providers.DotNetCompilerPlatform nuget, как предложено здесь: https://github.com/dotnet/roslyn/issues/12255#issuecomment-248588545,, но теперь я получаю эту ошибку для бамбука:

E:\agt01\ENS-EB580-BEQI\TeamBuildTypes\BambooBuild.proj(226,2): error MSB3073: The command "XCOPY "E:\agt01\ENS-EB580-BEQI\..\AWInstaller\Binaries\roslyn\*.*" "E:\agt01\ENS-EB580-BEQI\..\AWInstaller\My Project\Source Program Files\My Release\My Service\bin\roslyn\*.*" /y /e" exited with code 4.

...