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

时间:2018-08-29 02:02:16

标签: c# visual-studio msbuild visual-studio-2017

在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。该问题可能不是特定于版本的,而是某些损坏,重新安装或升级有时可以解决。

2 个答案:

答案 0 :(得分:4)

从Visual Studio版本15.6.7升级到最新版本可以解决此问题。

答案 1 :(得分:2)

我发现只需重新启动计算机即可解决此问题。我仅在项目的初始构建时遇到此问题,而在现有解决方案上对我而言不会发生此问题。

我只设法测试了几次该理论,所以不确定每次都可以。但是我想我会发布,因为可能会花一些时间。

这是Visual Studio Enterprise 15.8.6版的版本。