"Brian R." <8B2H4R_N9G5M3S7@noemail.nospam> wrote in message
news:8CD1AC31-B03B-4CBD-8989-08024F7FE61D@microsoft.com...
> On my machine the only assemblies that do not have a GAC properties
> 'codebase' entry are the NGen'd native assemblies. All other
> 'IL/JIT-able'
> assemblies contain a codebase.
>
> I figured the disk copy was not needed once it was GAC'd, I just wanted to
> clear up the difference between the way VS.NET references System vs Non
> system GAC'd assemblies. Curious why MS ones are processed differently as
> far as the link to the location on disk.
>
> "David Levine" wrote:
>
>> In general, once an assembly is added to the GAC it does not need to keep
>> any other copies around in the local file system. For many assemblies
>> this
>> folder is at %Windir%\assembly\GAC\<assemblyName>\<Version_PublicKey>,
>> where
>> <assemblyName> is the simple display name, and <Version_PublicKey> is a
>> combination of the version and public key token of the strong name. The
>> original location of the assembly is no longer used, and those files
>> should
>> be able to be deleted after it has been installed. You should be able to
>> delete the local files after adding it to the GAC to prove this. Also,
>> many
>> assemblies in the GAC do not even have a codebase set.
>>
>> The codebase may point to where the file was originally located before
>> installation, but this is not necessarily where the fusion layer looks
>> when
>> resolving a reference to the GAC. If you examine the location property
>> this
>> should show the actual path where the assembly is located in the GAC.
>>
>>
>>
>> "Brian R." <8B2H4R_N9G5M3S7@noemail.nospam> wrote in message
>> news:B46A448A-4D8F-4EFF-9054-F2224A5B9E4C@microsoft.com...
>> > Thanks for your reply. I did read that the copy was for dev purposes
>> > in a
>> > book, but the reason I ask is because the VS environment is not
>> > consistent.
>> >
>> > When I GAC my assembly and then add a reference to it in a dev C#
>> > project,
>> > the properties for that reference point back to the GAC path, not the
>> > location where I GAC'd it from. There is a codebase path in the GAC
>> > properties, but it doesn't reference my development one?
>> >
>> > It does note the non GAC version of the MS 'System' assembly references
>> > though? Is it hard coded into the VS environment to look for System
>> > assemblies in a non GAC location?
>> >
>> > What I am getting at is that it looks like I could easily deploy to teh
>> > GAC
>> > and delete the files from disk because VS references teh GAC located
>> > file,
>> > not the disk one.
>> >
>> > ""Peter Huang" [MSFT]" wrote:
>> >
>> >> Hi
>> >>
>> >> Yes, except the one copy in the GAC, we still need another copy in the
>> >> disk
>> >> for develop purpose.
>> >> When we compiled our project, e.g.it is a window forms application it
>> >> will
>> >> need the system.windows.forms.dll, when we compiled the project, the
>> >> IDE
>> >> will refer to the D:\windows\Microsoft.NET\Framework\<version>\
>> >>
>> >> You may make a test, if you move the system.windows.forms.dll to
>> >> another
>> >> path, the IDE can not compile the project again.
>> >>
>> >> I think the codebase is for information usage, it just tell us where
>> >> did
>> >> we
>> >> install it into GAC.
>> >>
>> >> If you still have any concern, please feel free to post here.
>> >>
>> >> Best regards,
>> >>
>> >> Perter Huang
>> >> Microsoft Online Partner Support
>> >>
>> >> Get Secure! -
www.microsoft.com/security >> >> This posting is provided "AS IS" with no warranties, and confers no
>> >> rights.
>> >>
>> >>
>>
>>
>>