Okay. When we create a strong named assembly and want this assembly to be used by someone else, we partially build this assembly by provide a Public Key. We write this Public Key in the AssemblyInfo.vb OR .cs file using the attribute
Note here that somekey.snk is a key that you create using sn.exe tool.
We create it like this in the command line compiler
sn.exe -k "c:\somekey.snk"
Note that we also turn off the verification of the assembly (the DLL) using the sn tool like this...
sn -Vr assemblyName.dll where -Vr is an option.
Once created, we add it to the assemblyinfo file.
We also add an attribute by the named <Assembly:AssemblyDelaySignAttribute(true)> to the assembly info file. This makes it sure that when we build the assembly, It would be containing the information only about the public
key before we deliver it to our client or whosoever needs it.
Remember that this is a partial strong named assembly that we have created, and hence we say that it is a
Delayed Assembly.
In this process, the public key is inserted into the assembly manisfest, which ultimately reserves some space for the Full Strong Named Assembly in the Portable Executable (PE) file.
In the end, while giving the key to your client, they may use the following command to convert the Delayed Assembly to a Full Strong Named Assembly
sn -R assemblyname.dll strongKey.snk where strongKey.snk is a strongly named key.
Okay. When we create a strong named assembly and want this assembly to be used by someone else, we partially build this assembly by provide a Public Key. We write this Public Key in the AssemblyInfo.vb OR .cs file using the attribute
Note here that somekey.snk is a key that you create using sn.exe tool.
We create it like this in the command line compiler
sn.exe -k "c:\somekey.snk"
Note that we also turn off the verification of the assembly (the DLL) using the sn tool like this...
sn -Vr assemblyName.dll where -Vr is an option.
Once created, we add it to the assemblyinfo file.
We also add an attribute by the named <Assembly:AssemblyDelaySignAttribute(true)> to the assembly info file. This makes it sure that when we build the assembly, It would be containing the information only about the public
key before we deliver it to our client or whosoever needs it.
Remember that this is a partial strong named assembly that we have created, and hence we say that it is a
Delayed Assembly.
In this process, the public key is inserted into the assembly manisfest, which ultimately reserves some space for the Full Strong Named Assembly in the Portable Executable (PE) file.
In the end, while giving the key to your client, they may use the following command to convert the Delayed Assembly to a Full Strong Named Assembly
sn -R assemblyname.dll strongKey.snk where strongKey.snk is a strongly named key.
duttavr
Contributor
4035 Points
1079 Posts
What is delay signing in .NET ?
Apr 11, 2007 10:26 AM|LINK
Could any one help me about delay signing.
What is delay signing in .net and how can you implement it.
Please Mark as Answer, if it answers you, also correct me if I'm wrong.
moredotnet
Contributor
4685 Points
887 Posts
Re: What is delay signing in .NET ?
Apr 11, 2007 12:49 PM|LINK
Okay. When we create a strong named assembly and want this assembly to be used by someone else, we partially build this assembly by provide a Public Key. We write this Public Key in the AssemblyInfo.vb OR .cs file using the attribute
<Assembly:AssemblyKeyFileAttribute("somekey.snk")>
Note here that somekey.snk is a key that you create using sn.exe tool.
We create it like this in the command line compiler
sn.exe -k "c:\somekey.snk"
Note that we also turn off the verification of the assembly (the DLL) using the sn tool like this...
sn -Vr assemblyName.dll where -Vr is an option.
Once created, we add it to the assemblyinfo file.
We also add an attribute by the named <Assembly:AssemblyDelaySignAttribute(true)> to the assembly info file. This makes it sure that when we build the assembly, It would be containing the information only about the public key before we deliver it to our client or whosoever needs it.
Remember that this is a partial strong named assembly that we have created, and hence we say that it is a Delayed Assembly.
In this process, the public key is inserted into the assembly manisfest, which ultimately reserves some space for the Full Strong Named Assembly in the Portable Executable (PE) file.
In the end, while giving the key to your client, they may use the following command to convert the Delayed Assembly to a Full Strong Named Assembly
sn -R assemblyname.dll strongKey.snk where strongKey.snk is a strongly named key.
Checkout this link for more info... http://www.c-sharpcorner.com/UploadFile/sushmita_kumari/DelaySigning101182006025505AM/DelaySigning1.aspx?ArticleID=3f3084db-8fbd-48bc-be82-3396f4eaa108
HTH
Cheers
moredotnet
(Pls mark as answer if reply helps)
BOOK: .NET INTERVIEW CRACKERJACK
WEBSITE: ASP.NET, C#, AJAX, SQL, Design Patterns
moredotnet
Contributor
4685 Points
887 Posts
Re: What is delay signing in .NET ?
Apr 11, 2007 12:51 PM|LINK
Okay. When we create a strong named assembly and want this assembly to be used by someone else, we partially build this assembly by provide a Public Key. We write this Public Key in the AssemblyInfo.vb OR .cs file using the attribute
<Assembly:AssemblyKeyFileAttribute("somekey.snk")>
Note here that somekey.snk is a key that you create using sn.exe tool.
We create it like this in the command line compiler
sn.exe -k "c:\somekey.snk"
Note that we also turn off the verification of the assembly (the DLL) using the sn tool like this...
sn -Vr assemblyName.dll where -Vr is an option.
Once created, we add it to the assemblyinfo file.
We also add an attribute by the named <Assembly:AssemblyDelaySignAttribute(true)> to the assembly info file. This makes it sure that when we build the assembly, It would be containing the information only about the public key before we deliver it to our client or whosoever needs it.
Remember that this is a partial strong named assembly that we have created, and hence we say that it is a Delayed Assembly.
In this process, the public key is inserted into the assembly manisfest, which ultimately reserves some space for the Full Strong Named Assembly in the Portable Executable (PE) file.
In the end, while giving the key to your client, they may use the following command to convert the Delayed Assembly to a Full Strong Named Assembly
sn -R assemblyname.dll strongKey.snk where strongKey.snk is a strongly named key.
Checkout this link for more info... http://www.c-sharpcorner.com/UploadFile/sushmita_kumari/DelaySigning101182006025505AM/DelaySigning1.aspx?ArticleID=3f3084db-8fbd-48bc-be82-3396f4eaa108
HTH
Cheers
moredotnet
(Pls mark as answer if reply helps)
BOOK: .NET INTERVIEW CRACKERJACK
WEBSITE: ASP.NET, C#, AJAX, SQL, Design Patterns
duttavr
Contributor
4035 Points
1079 Posts
Re: What is delay signing in .NET ?
Dec 28, 2009 05:44 PM|LINK
It is too late to mark as asnwer. but somehow I missed, Now I marked.
I could not understand about -Vr option, initially, but got full information from MSDN. anyways your reply helped me really. thank you so much.
by the way, I found some of the common issues whilst creating shared assemblies. I though that it makes sense to share those links here.
How to Specify AssemblyKeyFile Attribute in .NET Assembly and Issues
Error: type or namespace name 'AssemblyKeyFileAttribute' and 'AssemblyKeyFile' could not be found
Please Mark as Answer, if it answers you, also correct me if I'm wrong.
aawaravineet
Member
6 Points
4 Posts
Re: What is delay signing in .NET ?
Jun 27, 2011 11:02 AM|LINK
http://www.c-sharpcorner.com/UploadFile/vandita/delaysignassemblies08022006120501PM/delaysignassemblies.aspx