Answered by:
Why are the assemblies I need to reference not signed?

Question
-
I need to reference ProjectServerServices.dll from a signed assembly, but ProjectServerServices is not signed, so I cannot. Why, Microsoft, why? Is it possible to get a signed version of this assembly?Wednesday, September 8, 2010 2:25 PM
Answers
-
Hi Soxley,
We do not ship that file - it is the PSI Proxy Assembly that you will have compiled yourself, and you are free to sign it yourself. See the SDK article "Using the PSI Proxy Assembly with Intellisense Descriptions". The source and other details at C:\Program Files (x86)\Microsoft SDKs\Project 2010\Documentation\Intellisense\WCF by default.
Best regards,
Brian.
Blog | Facebook | Twitter | Posting is provided "AS IS" with no warranties, and confers no rights.
Project Server TechCenter | Project Developer Center | Project Server Help | Project Product Page- Marked as answer by Hans.H Monday, September 13, 2010 7:29 AM
Wednesday, September 8, 2010 10:34 PM
All replies
-
Hi Soxley,
We do not ship that file - it is the PSI Proxy Assembly that you will have compiled yourself, and you are free to sign it yourself. See the SDK article "Using the PSI Proxy Assembly with Intellisense Descriptions". The source and other details at C:\Program Files (x86)\Microsoft SDKs\Project 2010\Documentation\Intellisense\WCF by default.
Best regards,
Brian.
Blog | Facebook | Twitter | Posting is provided "AS IS" with no warranties, and confers no rights.
Project Server TechCenter | Project Developer Center | Project Server Help | Project Product Page- Marked as answer by Hans.H Monday, September 13, 2010 7:29 AM
Wednesday, September 8, 2010 10:34 PM -
Hey Soxley you can also dissassemble the DLL, create a key, the reassemble it with the key to get a signed DLL.
See here
http://www.andrewconnell.com/blog/archive/2004/12/15/772.aspx
Thursday, October 14, 2010 6:32 PM -
Hi Soxley,
We do not ship that file - it is the PSI Proxy Assembly that you will have compiled yourself, and you are free to sign it yourself. See the SDK article "Using the PSI Proxy Assembly with Intellisense Descriptions". The source and other details at C:\Program Files (x86)\Microsoft SDKs\Project 2010\Documentation\Intellisense\WCF by default.
Best regards,
Brian.
Blog | Facebook | Twitter | Posting is provided "AS IS" with no warranties, and confers no rights.
Project Server TechCenter | Project Developer Center | Project Server Help | Project Product Page
You can compile the proxy assembly from the source files in the SDK download, with the following command (provide your own strong name key file, from another Visual Studio project):@echo off
@ECHO ----------------------------
@ECHO Compiling the proxy assembly
@ECHO ----------------------------(set OUTDIR=.\Source)
(set SOURCE=%OUTDIR%\)
(set CSC=%WINDIR%\Microsoft.NET\Framework\v3.5\csc.exe)
(set ASSEMBLY_NAME=ProjectServerServices.dll)%CSC% /t:library /keyfile:.\ProjTool.snk /out:%ASSEMBLY_NAME% %SOURCE%*.cs
--Jim
Jim Corbin [MSFT]Friday, October 15, 2010 3:04 PM -
Yes Jim's answer above is the safer/simpler way. Using ildasm/ilasm you must make sure you don't reference the .net 4 version of these tools else your recompiled assembly will be version 4.xxx and generate the 'assembly is a newer runtime' error in the event logs. (SharePoint/Project Server uses 3.5)
That said using the ilasm tools allows you to set versions, comments etc. in your DLL with a .res file
You can see the version of the DLL you have added to your project by selecting it in the references area in visual studio and then looking at its properties.
Ray
Friday, October 15, 2010 5:38 PM