New Reference Assemblies Location
Those of you who've been using the 3.0 Framework may have noticed a folder under Program Files called "Reference Assemblies". This folder contains those assemblies that ship with the 3.0 Framework which are useful for referencing during the design and build of new components. Those of you who haven't yet used the 3.0 Framework, but plan on using the 3.5 Framework when it's released to the wild, will notice this change has continued.
This change is largely about disentangling design time and runtime scenarios. At runtime, these components will still be loaded from the GAC in most cases. At design time, going forward there will be a single location where users can find assemblies available for reference. This location for the 3.5 Framework is:
"%ProgramFiles%\Reference Assemblies\Microsoft\Framework\v3.5"
For MSBuild, we've placed the 3.5 versions of the assemblies Microsoft.Build.Engine.dll, Microsoft.Build.Framework.dll, Microsoft.Build.Conversion.v3.5.dll and Microsoft.Build.Utilities.v3.5.dll (explanation of the "v3.5" in the filenames coming in a subsequent blog post!) at this location, and as mentioned earlier they will continue installing to the GAC for runtime use. Notice I didn't list Microsoft.Build.Tasks.v3.5.dll here - because this assembly is essentially for runtime use only, we didn't decide to install it under the Reference Assemblies location.
The tools themselves that ship with the .NET Framework v3.5 (csc.exe, msbuild.exe, vbc.exe) will continue installing to their expected locations.
At build time, we actually had little work to do to accommodate this change. For the version of MSBuild that shipped with the .NET Framework 2.0, we used a single location under the WINDOWS folder in different ways for different parts of the build. For example, the compiler tasks looked in this location to find the executable they called, and the reference resolution task (ResolveAssemblyReference) would look in this location to resolve certain system assemblies. Now, the reference resolution task has a location set aside expressly for this purpose, so it no longer needs to inspect the location under WINDOWS (for 3.0 and 3.5, anyways).
[ Author: Jeffery Callahan ]
Comments
Anonymous
May 07, 2007
Hello Jeffery, I installed Orcas and the Orcas SDK and since days I struggle with a weird problem. It appears that I do not habe thecorrect msbuild.utilities.v3.5 assembly on ma machine. I do not have a Reference AssembliesMicrosoftFrameworkv3.5 folder on my machine. What do I have to install to get this directory? Any help would be highly appreaciated. thanks in advance thulka@yahoo.comAnonymous
May 09, 2007
The folder should have been installed under your %ProgramFiles% directory when you installed Orcas. Can you tell me which drop of Orcas you installed? Is it Beta1?Anonymous
May 13, 2007
It was the ctp from march, I now cleaned everything (removed vs2003 and 2005) and installed the beta and everything is fine, the Reference Assemblies/3.5 folder is now here. thank you very much! btw the beta is phantasticAnonymous
May 16, 2007
The comment has been removedAnonymous
July 13, 2007
Zaynoun, Sorry for the late reply (you may have better luck getting help with issues at our forum); did you resolve your issue? If not, what errors are you seeing? JeffAnonymous
October 02, 2007
I got an error in VS2005 since Orcas.... Error 2 The "ResolveAssemblyReference" task failed unexpectedly. System.BadImageFormatException: Could not load file or assembly 'C:Program FilesMicrosoft Enterprise Library June 2005binMicrosoft.Practices.EnterpriseLibrary.Configuration.dll' or one of its dependencies. The module was expected to contain an assembly manifest. File name: 'C:Program FilesMicrosoft Enterprise Library June 2005binMicrosoft.Practices.EnterpriseLibrary.Configuration.dll' Why MS didn't give us any fix?Anonymous
December 02, 2007
I have installed the release of Visual Studio 2008 on a Vista OS. The directory you mentioned was created and the manifest loaded for the assemblies, but no assemblies are included. VS crashes on the creation of any project and I get an installation error when trying to reload the 3.5 framework. So far, there are many posts with a similar error and no solutions.Anonymous
December 10, 2007
The comment has been removedAnonymous
January 20, 2008
The comment has been removedAnonymous
July 20, 2008
I just stumbles across a "new" concept of Microsoft. In the C:Program FilesReference AssembliesAnonymous
September 18, 2008
I have created custom code activity in VSX. When I run this application in 'Experimental Hive', It will load all custom templates, but when i try to create new project by using this custom templates i can not see my custom code activity in toolbox. My question is ' How to load / register custom workflow activity into Experimental Hive's Toolbox ?'Anonymous
November 07, 2008
I am not using any language assembly of any kind, yet a few days ago an Icon, Reference Assembly, greeted me on my DeskTop. While it's not an overly large file, since it's not something I have any idea of ever using it would be nice to be able to put it back in a Temp dir, or even Program Files, but it will not leave the DeskTop! I finally became tired of messing with it and decided I could live without it, but, no, I am not able to delete it. Could someone tell me what I have to do to hide it? Thanks,Anonymous
December 28, 2011
Can I delete the Framework v3.0 folder once v3.5 is installed?Anonymous
September 10, 2014
egfedhredkhhrjdjhrdhf,cjkwtxkkehdketkijgjfcgte jrht5gtrfh4teu ehertdhtrr4hAnonymous
October 21, 2015
I noticed that I have both v3.0 and v3.5 in my folder- do I need both? I feel like it's taking up a lot of room. and how do I know which one I need?