我有两个解决方案,这两个解决方案都在每个项目的属性页面的签名页面上选中了“签署程序集”复选框。
解决方案 A 签署所有项目并且没有问题。事实上,解决方案 A 抱怨程序集没有强名称,无法构建最终的应用程序程序集。我检查了一下,该程序集上缺少数字签名。
该程序集是在另一个解决方案解决方案 B 中创建的,并在其中引用。我去了该解决方案并添加了相同的语句以对程序集进行签名。我还像在解决方案 A 中一样检查了对单击清单进行签名。
解决方案 B 构建时没有问题、没有警告和错误。Visual Studio 构建了 DLL 和随附的测试应用程序。我先清理解决方案,调试和发布,然后构建解决方案,没有数字签名。
我购买了使用浏览器选择的数字证书。数字证书有密码并有 PFX 扩展名。
解决方案 A 要求我输入解决方案中每个项目的密码。我将每个项目都设置为对程序集进行签名。解决方案 B 从未要求我输入密码。
当我遇到问题时,我想从头开始重新创建解决方案和项目,并将现有的 CS 文件添加到解决方案中。基本上,我重新创建了项目和解决方案文件。结果完全相同。我什至比较了解决方案 A 和 B 中的程序集信息文件 Project\AssemblyInfo.cs 并没有发现真正的区别。
更新:
根据请求,这是构建窗口的输出。遗憾的是,默认情况下没有详细的构建信息。我希望如此。
BuildVersionIncrement: Pre-build process : Completed
1>------ Build started: Project: SolutionB, Configuration: Release Any CPU ------
1> SolutionB -> F:\Projects\SolutionB\Versions\2014\SolutionB\bin\Release\SolutionB.dll
2>------ Build started: Project: TesterSolutionB, Configuration: Release Any CPU ------
2> TesterSolutionB -> F:\Projects\SolutionB\Versions\2014\TesterSolutionB\bin\Release\TesterSolutionB.exe
========== Build: 2 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
BuildVersionIncrement: Post-build process : Completed
更新 2:我正在使用 C#.Net。一个项目是类库,另一个是 Winforms 项目。我选择了 .Net Framework 4.5.1。
可能是什么原因,我该如何解决这个问题?遗憾的是,输出窗口没有显示详细的构建细节。