按照此处的说明进行操作,会出现以下错误:
元素中的属性“名称”无法识别
在.csproj文件中,我删除了该PostBuild
部分,并将其替换为:
<Target Name="SignOutput" AfterTargets="CoreCompile">
<Exec Command=""C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" sign /f "$(ProjectDir)My_Cert.pfx" /p mypassword "$(ProjectDir)obj\$(ConfigurationName)\MyExe.exe"" />
</Target>
之所以这样做,是因为尝试运行新发布的SmartClient应用程序时,我得到的是“文件的计算哈希值与清单”错误中指定的值不同”。怎么了?
插入到csproj中的默认PostBuildEvent被定义为PropertyGroup中的一个Property,似乎您已将Target的代码粘贴到该propertyGroup中。这不仅没有达到预期的效果,而且甚至加载项目文件时也会出错,因为属性没有Name属性,因此您有一些格式错误的xml。解决:将Target放在项目级别,在构建时,CoreCompile之后但在链接等之前会自动调用它,因此它也是定义“构建后事件”的一种方法,因此很混乱。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句