473,238 Members | 1,622 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,238 software developers and data experts.

Reference confusion - manifest has multiple references to multiple versions of assembly

I'm having a problem with what appears to be some sort of confusion with
references. I have a single solution with a dozen projects which has been
working quite nicely for a while. The references between projects in the
solution were established through project references, not by browsing to an
assembly DLL. All of the projects are strongly named and use key files. Each
project's AssemblyInfo.cs specifies the assembly version, where the assembly
key file is and sets AssemblyDelaySign(true).

Here's where the problem started. There was an administrative decision made
to change the name of the assemblies, change the name spaces and to generate
new key files. Now things have stopped working for what appear to be some
confusion over the version of assemblies being consumed.

One symptom: There is only one version of an assembly, but if I look into
the manifest of a consumer of that assembly, I see two different references
to that assembly using two different public keys and slightly different
names.
The first one is ".assembly extern BCGI.CTSxCore"
The second is ".assembly extern BCGI.CTSxCore as BCGI.CTSxCore_6".

I don't know where the confusion is coming from and would greatly appreciate
it if someone could point me at a couple of likely reasons why this
confusion is being generated.

Another symptom: At build time, there are two different error lines that
say, in essence, that a dependency couldn't be copied to the run directory
because it would conflict with another dependency of the same name but a
different key token value.
--
Richard Lewis Haggard
www.Haggard-And-Associates.com
Apr 11 '06 #1
1 3139
I did not figure out why this happened, but it was fixed by deleting all of
the references and then re-establishing them. After that, the manifest for
each assembly cleared up and the duplicate references were gone.

Still - what happened? Why did changing the key files result in duplicate
(sort of) assembly references? This sort of implies that a reference is a
static entity that, once established, doesn't update or change in any
fashion automatically. Is that true?
--
Richard Lewis Haggard
www.Haggard-And-Associates.com

"Richard Lewis Haggard" <HaggardAtWorldDotStdDotCom> wrote in message
news:uy**************@TK2MSFTNGP05.phx.gbl...
I'm having a problem with what appears to be some sort of confusion with
references. I have a single solution with a dozen projects which has been
working quite nicely for a while. The references between projects in the
solution were established through project references, not by browsing to
an assembly DLL. All of the projects are strongly named and use key files.
Each project's AssemblyInfo.cs specifies the assembly version, where the
assembly key file is and sets AssemblyDelaySign(true).

Here's where the problem started. There was an administrative decision
made to change the name of the assemblies, change the name spaces and to
generate new key files. Now things have stopped working for what appear to
be some confusion over the version of assemblies being consumed.

One symptom: There is only one version of an assembly, but if I look into
the manifest of a consumer of that assembly, I see two different
references to that assembly using two different public keys and slightly
different names.
The first one is ".assembly extern BCGI.CTSxCore"
The second is ".assembly extern BCGI.CTSxCore as BCGI.CTSxCore_6".

I don't know where the confusion is coming from and would greatly
appreciate it if someone could point me at a couple of likely reasons why
this confusion is being generated.

Another symptom: At build time, there are two different error lines that
say, in essence, that a dependency couldn't be copied to the run directory
because it would conflict with another dependency of the same name but a
different key token value.
--
Richard Lewis Haggard
www.Haggard-And-Associates.com

Apr 11 '06 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Nick Malik | last post by:
Instead of posting a problem, I will post a solution to a problem that I've seen posted many times. One which I just hit and solved. I've been using signed assemblies (have to... they are...
1
by: Santhu | last post by:
What is the difference between METADATA and MANIFEST and where do they get stored? Thank you
3
by: Gary McGill | last post by:
I have a C# solution with a dozen or so projects. There are references between the projects, and these were all added as "Project" references. Everything's been working fine for months, but...
5
by: Robert | last post by:
I have a series of web applications (configured as separate applications) on a server. There is a main application at the root and then several virtual directories that are independant...
16
by: Kent | last post by:
We have created several Assemblies that we add to the GAC on our web servers. In an ASP.NET app in VS2003, Adding a reference to strong named GAC'd Assembly meant that the web app would use...
3
by: Richard Lewis Haggard | last post by:
I'm getting an error that should be easy but I don't understand the info structure well enough to know what's going wrong. I've been slowly adding classes and projects to a solution for a while....
3
by: Richard Lewis Haggard | last post by:
We are having a lot of trouble with problems relating to failures relating to 'The located assembly's manifest definition with name 'xxx' does not match the assembly reference" but none of us here...
68
by: Jim Langston | last post by:
I remember there was a thread a while back that was talking about using the return value of a function as a reference where I had thought the reference would become invalidated because it was a...
275
by: Astley Le Jasper | last post by:
Sorry for the numpty question ... How do you find the reference name of an object? So if i have this bob = modulename.objectname() how do i find that the name is 'bob'
0
by: abbasky | last post by:
### Vandf component communication method one: data sharing ​ Vandf components can achieve data exchange through data sharing, state sharing, events, and other methods. Vandf's data exchange method...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 7 Feb 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:30 (7.30PM). In this month's session, the creator of the excellent VBE...
0
by: fareedcanada | last post by:
Hello I am trying to split number on their count. suppose i have 121314151617 (12cnt) then number should be split like 12,13,14,15,16,17 and if 11314151617 (11cnt) then should be split like...
0
by: stefan129 | last post by:
Hey forum members, I'm exploring options for SSL certificates for multiple domains. Has anyone had experience with multi-domain SSL certificates? Any recommendations on reliable providers or specific...
0
Git
by: egorbl4 | last post by:
Скачал я git, хотел начать настройку, а там вылезло вот это Что это? Что мне с этим делать? ...
1
by: davi5007 | last post by:
Hi, Basically, I am trying to automate a field named TraceabilityNo into a web page from an access form. I've got the serial held in the variable strSearchString. How can I get this into the...
0
by: DolphinDB | last post by:
The formulas of 101 quantitative trading alphas used by WorldQuant were presented in the paper 101 Formulaic Alphas. However, some formulas are complex, leading to challenges in calculation. Take...
0
by: Aftab Ahmad | last post by:
Hello Experts! I have written a code in MS Access for a cmd called "WhatsApp Message" to open WhatsApp using that very code but the problem is that it gives a popup message everytime I clicked on...
0
by: Aftab Ahmad | last post by:
So, I have written a code for a cmd called "Send WhatsApp Message" to open and send WhatsApp messaage. The code is given below. Dim IE As Object Set IE =...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.