Welcome to MSDN Blogs Sign in | Join | Help

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 ]

Published Thursday, April 12, 2007 7:16 PM by msbuild
Filed under:

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

Tuesday, May 08, 2007 2:43 AM by thomas

# re: New Reference Assemblies Location

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 Assemblies\Microsoft\Framework\v3.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.com

Wednesday, May 09, 2007 2:26 PM by Jeffery Callahan

# re: New Reference Assemblies Location

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?

Monday, May 14, 2007 2:59 AM by thomas

# re: New Reference Assemblies Location

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 phantastic

Wednesday, May 16, 2007 5:26 PM by Zaynoun

# re: New Reference Assemblies Location

Hi,

Forgive me if i look completely new to this, but what you meant by meant by "referencing during the design", is there components that can't be referenced during design ? cause i installed FX3.0 and tried to use it without orca, by referencing the dlls in the ...\Window\...\v3.0\*, but it tells me that these dlls can't be referenced.... because there is some error.

Can you help me ? thanks in advance.

Friday, July 13, 2007 4:20 PM by Jeffery Callahan

# re: New Reference Assemblies Location

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?

Jeff

Tuesday, October 02, 2007 11:51 AM by mrjamesbound

# re: New Reference Assemblies Location

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 Files\Microsoft Enterprise Library June 2005\bin\Microsoft.Practices.EnterpriseLibrary.Configuration.dll' or one of its dependencies. The module was expected to contain an assembly manifest.

File name: 'C:\Program Files\Microsoft Enterprise Library June 2005\bin\Microsoft.Practices.EnterpriseLibrary.Configuration.dll'

Why MS didn't give us any fix?

Sunday, December 02, 2007 1:11 PM by Leon Faircloth

# re: New Reference Assemblies Location

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.

Tuesday, December 11, 2007 5:32 AM by skeptic simon

# re: New Reference Assemblies Location

So if I am not going to be designing nor building any new components why do I need this junk on my computer?????

Sunday, January 20, 2008 2:17 PM by Bob Loblaw

# re: New Reference Assemblies Location

I'm in a world of hurt. Suspecting that my system was compromised, I have desparately sought knowledge about networking this past month, including reconfiguring my user accounts on XP HE. My (extra)(personal) firewall logs have helped determine redirection. Finally uninstalling all versions of .Net, several programs have showed up in PF folder, including; Microsoft (M)CAPICOM 2.1.0.2,Reference Assemblies, m frontpage, M Visual Studio, MSECACHE, MSN, MSXML 4.0, MSXML 6.0, OfficeUpdate11, Windows Journal Viewer, Viewpoint, Windows Media Connect, Windows Media Connect 2, Windows NT, and xerox. As I am no programmer, I am in the dark as to where to look in the registry for info. My DCom config permissions seem REALLY messed up, and I know little about them, nor where to find out. Yesterday I discovered a M update KB 928365 which seems to address where I am at, but the fix is moot at this point. If I have to re-install, I'll likely go to UBUNTU, since I was a victim in 2002 of the (at that time unknown) macro virus/trojans of Excel/power point/frontpage. I have since NOT installed any of those programs on my systems that access the www, yet here I am. I have taken screenshots of settings and program logs, throughout the past 3 weeks, yet if they are written in Prog Lang Code, I am dumb to what they say. Any ideas about where to go from here would be appreciated. Thanks for your site, and best regards. Bob

Sunday, July 20, 2008 4:35 PM by Serge van den Oever [Macaw]

# C:\Program Files\Reference Assemblies for assemblies to reference in your code

I just stumbles across a "new" concept of Microsoft. In the C:\Program Files\Reference Assemblies

Thursday, September 18, 2008 9:40 AM by Vachan chauhan

# How to load / register custom workflow activity into Experimental Hive's Toolbox ?

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 ?'

Saturday, November 08, 2008 12:35 AM by Jarvis White

# Mr

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,

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker