构建错误 - Roslyn MSB3883:意外异常:System.Security.Principal.Windows的System.IO.FileNotFoundException

问题描述 投票:7回答:2

在Visual Studio 2017中构建期间,我经常收到以下内容:

1>------ Build started: Project: Library, Configuration: Debug Any CPU ------

1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Roslyn\Microsoft.CSharp.Core.targets(84,5): error MSB3883: Unexpected exception: 

1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Roslyn\Microsoft.CSharp.Core.targets(84,5): error : System.IO.FileNotFoundException: Could not load file or assembly 'System.Security.Principal.Windows, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Roslyn\Microsoft.CSharp.Core.targets(84,5): error : File name: 'System.Security.Principal.Windows, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Roslyn\Microsoft.CSharp.Core.targets(84,5): error : at Microsoft.CodeAnalysis.CommandLine.BuildServerConnection.GetPipeNameForPathOpt(String compilerExeDirectory)

1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Roslyn\Microsoft.CSharp.Core.targets(84,5): error : at Microsoft.CodeAnalysis.BuildTasks.ManagedCompiler.ExecuteTool(String pathToTool, String responseFileCommands, String commandLineCommands)

1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Roslyn\Microsoft.CSharp.Core.targets(84,5): error : WRN: Assembly binding logging is turned OFF.

1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Roslyn\Microsoft.CSharp.Core.targets(84,5): error : To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.

1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Roslyn\Microsoft.CSharp.Core.targets(84,5): error : Note: There is some performance penalty associated with assembly bind failure logging.

1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Roslyn\Microsoft.CSharp.Core.targets(84,5): error : To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

似乎没有什么能够持续解决它。有时清洁和重建工作。有时重新启动Visual Studio工作。但两者似乎也没有效果,所以它似乎与时间或其他一些过程更相关。

更新我刚刚尝试从版本15.6.7升级到15.8.1,所以我们将看看是否修复了它。

更新#2版本15.8.1中没有重新出现这个问题,但评论中有很多报告称这个问题仍然存在,直到15.8.5。该问题可能不是特定于版本的,而是重置或升级有时可以解决的一些损坏。

c# visual-studio msbuild visual-studio-2017
2个回答
4
投票

从Visual Studio 15.6.7版升级到最新版本解决了这个问题。


2
投票

我发现只需重新启动我的机器就可以解决这个问题。我只在项目的初始构建中遇到此问题,在现有解决方案中我不会遇到此问题。

我只是设法测试了这个理论几次,所以不确定它每次都会起作用。但我想我会发布,因为它可能会有点时间。

这是使用Visual Studio Enterprise 15.8.6版。

© www.soinside.com 2019 - 2024. All rights reserved.