我正在使用Visual Studio 2008,我有一个包含多个项目的解决方案。我有一个snk来签署我的程序集,它存在于一个解决方案文件夹中。
我已将snk链接到我的每个项目,但现在当我尝试使用该链接的snk签署我的项目时,我找不到带有文件对话框的snk文件。
我错过了一步吗?
Solution
> Solution Folder
MyKey.snk
> Project X
> _LinkedFiles
MyKey.snk (physical file doesn't appear here but shows in VS)
> ...
答案 0 :(得分:15)
答案 1 :(得分:2)
嗯,这里反应不多,但我确实找到了一个我很满意的解决方案。我有一个ProductAssemblyInfo,它存在于一个解决方案文件夹中,但链接到每个项目,如下所示。
Solution
> Build (Solution Folder)
MyKey.snk
ProductAssemblyInfo.cs
> Project X
> _LinkedFiles
ProductAssemblyInfo.cs
> ...
ProductLevelAssembly包含以下行:
[assembly: AssemblyKeyFile("../../Build/MyKey.snk")]
这样,密钥文件永远不会被复制到每个项目中,但每个程序集仍然由密钥签名。
答案 2 :(得分:0)
不要链接它,只需复制它。如果重建SNK,则需要再次将其复制到所有项目,但是需要这样做的可能性非常低。实际上,我们只在修改主要版本号时更改SNK。
此外,当您链接文件时,您将其链接到解决方案文件中,而不是制作同时编辑这两个位置的副本。浏览对话框仅显示驱动器上存在的文件。