We are currently migrating all our solutions from 2005 to 2010 (that's right, we're skipping 2008!). We are also changing our file structure to make some more sense (some common projects would be nested within specific projects etc etc).
This all means references need to be changed! Apart from that we are also setting them all to .NET 4.0. To accomplish this we've made a temp "GOD" solution with all 117 projects in the same solution.
I am doing this with one co-worker and until about 2 hours ago everything was going according to plan. However we ran into a problem with one of the 117 projects. This project refuses to "display" it's references, resources, services, and settings tabs within the Project Properties.
I get the following exact message:
Could not resolve mscorlib for target framework '.NETFramework,Version=v4.0'. This can happen if the target framework is not installed or if the framework moniker is incorrectly formatted.
Now this is annoying but it gets worse. My co-worker, when getting the same solution from subversion, CAN actually see and change the references and things. As a matter of fact, currently the project actually BUILDS on his machine. He committed the changes but I can't build this specific project, or see the references.
Which leads me to the simple conclusion, something has to be different on my client which is causing trouble! Suggestions online that I've seen are the following:
- Multiple .NET4.0 versions installed (this is not the case on my client)
- .NET v3.5 is not installed; v4.0 is trying to build v3.5 (3.5 is installed on my client)
- The registery key: OnlyUseLatestCLR is set and is screwing things up! (scanned my registry, this key is not present anywhere!)
See: http://connect.microsoft.com/VisualStudio/feedback/details/542789/
The only thing I haven't tried yet which I could do is repair .NET 4.0 how ever I highly doubt this is the issue since we have about 100 other projects which I can edit and build just fine. Both C# and VB.NET.
I had this problem today and the solution was to manually edit the Resources.resx file manually.
My Resources.resx file looked like this:
Turned out that Visual Studio didn't like the two
<data>
elements after the<assembly>
element, which is strange considering the fact that Visual Studio added them there itself. My problem was solved after I moved them before the<assembly>
element: