Mohammad Sadeghi
Mohammad Sadeghi

Reputation: 711

Could not load file or assembly 'System.Security.Principal.Windows'

Solution has compiled successfully, but after I added an existing class file to the project, this error appeared:

The specified task executable "csc.exe" could not be run. 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. MvcApplicationRegister

I installed System.Security.Principal.Windows package By NuGet, but error still appears.

Upvotes: 61

Views: 34125

Answers (10)

gmojunior
gmojunior

Reputation: 292

I had the same issue here using 'System.Security.Principal.Windows' version 4.7.0. For some reason when I installed the nuget package it was referecing the dll from the folder: C:\Users\{your-user}\.nuget\packages\system.security.principal.windows\4.7.0\ref\netstandard2.0\System.Security.Principal.Windows.dll then I changed to reference the dll from the folder C:\Users\{your-user}\.nuget\packages\system.security.principal.windows\4.7.0\lib\netstandard2.0\System.Security.Principal.Windows.dll and everything worked just fine! So I copied the dll from the lib folder to my project and made a direct reference.

Upvotes: 0

Huw Roberts
Huw Roberts

Reputation: 316

I do not like removing packages without first understanding what I'm removing. I faced the same problem with my solution.

I discovered that 1 of the many projects was using the Microsoft.Net.Compilers NuGet package - let's call it Project ABC. A Unit Test project was referencing that Project ABC, but not the Microsoft.Net.Compilers NuGet package.

I simply referenced the Microsoft.Net.Compilers NuGet package from my Unit Test project, and the problem has now gone away.

Upvotes: 1

user5481197
user5481197

Reputation:

Close down all instances of Visual Studio. Then reopen the solution and rebuild.

Upvotes: 8

benjaminoerskov
benjaminoerskov

Reputation: 240

Updating Microsoft.CodeDom.Providers.DotNetCompilerPlatform and deleting Microsoft.Net.Compilers worked for me.

Upvotes: 0

MMalke
MMalke

Reputation: 2106

None of the previous answers worked for me.

The problem was that I didn't have the .NET Compiler Platform SDK installed.

To solve, open Visual Studio Installer, choose "Modify", and under the "Invididual Component" tab, check the .NET Compiler Platform SDK, and confirm your changes by clicking "Modify".

enter image description here

After I installed it and reopened Visual Studio, the problem is gone.

Upvotes: 37

Ogglas
Ogglas

Reputation: 69958

In my case I could go from Microsoft.Net.Compilers 2.4.0 to Microsoft.Net.Compilers 2.10.0. No need to use Microsoft.Net.Compilers 2.8.2.

Upvotes: 4

Lee Tickett
Lee Tickett

Reputation: 6027

I uninstalled both Microsoft.CodeDom.Providers.DotNetCompilerPlatform and Microsoft.Net.Compilers and everything now works.

Upvotes: 4

Oskar
Oskar

Reputation: 2083

If you are using Microsoft.CodeDom.Providers.DotNetCompilerPlatform you can upgrade to 2.x and then remove Microsoft.Net.Compilers as it's no longer needed. That solved it for me, however I couldn't even build the solution in the first place. It was still complaining about System.Security.Principal.Windows though, I could also solve it by referencing System.Security as an assembly. It's not recommended though.

Upvotes: 11

Richard
Richard

Reputation: 391

Had this same issue and resolved it.

In a 3 project solution MVC controller (Web,Business,Data)

Caused by the Microsoft.Net.Compiler 2.9.0 being installed on the Web project but not the other projects.

To resolve: Right click the solution. Manage NuGet Packages. Installed > Search for the compiler Ensure it is the same version and it is installed on all projects in your solution

Once installed my solution built successfully

Upvotes: 15

Synthie
Synthie

Reputation: 361

I had the same issue after I upgraded Microsoft.Net.Compiler from 2.8.2 to 2.9.0. After I downgraded to 2.8.2 projects compiled without any errors.

Upvotes: 36

Related Questions