如何将单个密钥文件链接到解决方案中的每个项目?

时间:2018-11-13 12:31:14

标签: c# .net visual-studio pfx strongname

我想在解决方案中对几个项目进行强命名,并创建一个PFX密钥文件来完成。为了简化管理,我只希望拥有此文件的一个副本,因此我将其添加为解决方案。但是,当我尝试通过Visual Studio中的“属性”->“签名”菜单链接项目中的文件时,它将创建密钥文件的本地副本。

我想做的是引用解决方案中的现有密钥文件,并用它签名每个项目,而无需创建密钥文件的副本。

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:2)

在“添加现有项”对话框中使用“添加为链接”选项。在BizTalk项目中,这很多,因为必须对BizTalk程序集进行签名,并且经常欺骗初学者……这是一个非常隐蔽的选择。

enter image description here

答案 1 :(得分:0)

从您的项目中删除对该文件的任何现有引用。在解决方案资源管理器中,右键单击该项目,然后转到“添加现有项目”。浏览到密钥文件,然后在添加现有项对话框中将其选中。 添加现有项对话框的右下角,通过下拉菜单将添加按钮更改为添加为链接 em>,然后点击添加为链接按钮。密钥文件现在已作为链接而不是副本添加到您的项目中。

现在,在项目的属性中,可以将强名称密钥文件设置为已链接的文件。不用担心这最初显示的是文件的绝对路径-保存/重新打开项目时,绝对路径将更改为相对路径。

如果在文本编辑器中打开csproj文件,您将看到类似以下内容:

if __name__ == '__main__':
    pool = multiprocessing.Pool(16)
    results = pool.map(train, np.arange(0,15))
    pool.close()
    pool.join()

如果要更改的项目很多,可以进行全局搜索并替换csproj文件,以将项目直接更改为链接的项目。