在 instructions here之后,我收到以下错误: The attribute “Name” in element is unrecognized 在.csproj文件中,我删除了PostBuild部分并将其替换为: Target Name="SignOutput" AfterTargets="CoreCompile"Exec Command="q
The attribute “Name” in element is unrecognized
在.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,并且您似乎在该propertyGroup中粘贴了Target的代码.这不仅没有产生预期效果,甚至在加载项目文件时出错,因为属性没有Name属性,因此你有一些格式错误的xml. 解决方案:只需将Target置于项目级别,它将在构建时自动调用,在CoreCompile之后但在链接之前等,因此它也是一种定义“后构建事件”的方式,因此存在混淆.