问题
I updated .NET from 3.5
to 4.0
version, but after updating the assembly System.Web
doesn't work any more.
I'm getting the following error:
Warning 1 Could not resolve assembly "System.Web". The assembly is not in the currently targeted framework ".NETFramework,Version=v4.0,Profile=Client". Please remove references to assemblies not in the targeted framework or consider retargeting your project.
Using the 3.5
version it works fine. How can I fix this?
回答1:
Change the project from ClientProfile to full .NET 4.0
The .NET Framework 4 Client Profile is a subset of the .NET Framework 4 that is optimized for client applications. It provides functionality for most client applications, including Windows Presentation Foundation (WPF), Windows Forms, Windows Communication Foundation (WCF), and ClickOnce features. This enables faster deployment and a smaller install package for applications that target the .NET Framework 4 Client Profile.
See Differences between Microsoft .NET 4.0 full Framework and Client Profile
回答2:
I think you have .NET 4.0 Client profile
selected for target framework. Just switch to .Net 4.0
回答3:
You're targetting the .net 4.0 Client Profile, which is a .net "lite" for desktop users. Switch to full .net 4.0 to get at System.Web
Project Properties -> Application tab -> Target Framework
回答4:
Try changing the "Target Framework" to be ".NET Framework 4" instead of ".NET Framework 4 Client Profile".
来源:https://stackoverflow.com/questions/7694380/system-web-assembly-is-not-found-on-net-4-0-version