Referenced assembly does not have a strong name

Cheetah

Well-known member
Joined
Oct 12, 2006
Messages
232
Programming Experience
Beginner
I know it probably isn't totally on topic, but I am creating a plugin for vista media center using their software development pack and i have a referenced .dll but I am unable to build the project as the .dll doesn't have a public key (i think thats the reason). This is the error it gives me when i try and build:

Assembly generation failed - Referenced assembly does not have a strong name.
 
If a referenced assembly does not have a strong name, then your assembly also cannot be built with a strong name. (weakest link philosophy)

I can understand that, its just it won't let me build the assembly without a public key.
 
To not sign the assembly you have to untick "Sign the assembly" in the Signing page.
 
To not sign the assembly you have to untick "Sign the assembly" in the Signing page.

That was the first thing I tried but it gives me an error when I try to create a Wix installer using the post-build events.

I am application i created which doesn't use a referenced library, i managed to create the Wix installer fine...

Here is a link to the readme for finalizing the application: linky!

I'm guessing the problem lies in the Registration.xml file, which i edited to this to remove the bit about the public key:

VB.NET:
<application title="PS3 Remote Plugin" id="{4ea2b9bd-6e35-4a47-adfa-e2552cd7a66e}">
	<entrypoint id="{3de72512-1574-4757-8c49-0479b3eb613f}"
				addin="PS3_Remote_Plugin.MyAddIn, PS3 Remote Plugin,Culture=Neutral,Version=1.0.0.0"
				title="PS3 Remote Plugin"
				description="PS3 Remote Plugin Description">
		<category category="Background"/>
	</entrypoint>
</application>

Have i edited it wrong or something. - Even so, in that readme, it says that the application must have a strong key.

Thanks.
 
I don't see anywhere in that readme that the application must have a strong name, only description on how that can be done. Wix is just a msi builder and doesn't require strong name assemblies. Windows Media Center on the other hand only supports loading application assemblies from the global assembly cache (GAC) or from the %windir%\ehome directory, where GAC is recommended I read. Only GAC registered assemblies must have strong name. I think you should avoid unsigned assemblies for such deployment, or figure out how to deploy unsigned to ehome directory.
 
Well I have checked and there is source for the library that i am using.

I tried to compile the project myself using a strong name (signing the assemby), but the .DLL I created from the project doesn't work (doesn't do what the release version does). (Link to project solution).

I'm thinking it might be something to do with it being a 2005 project and me using 2008. Could someone with VS 2005 compile it with a strong name so i can see please?

The library i build is also 4KB smaller than the release build. Is the same version i think (i checked the Assembly Information version)
Thanks.
 
Back
Top