无法识别元素 <Target> 中的属性 "Name"

The attribute "Name" in element <Target> is unrecognized

instructions here 之后,我得到以下错误:

The attribute "Name" in element is unrecognized

在 .csproj 文件中,我删除了 PostBuild 部分并将其替换为:

<Target Name="SignOutput" AfterTargets="CoreCompile">
<Exec Command="&quot;C:\Program Files (x86)\Windows Kits\bin\x64\signtool.exe&quot; sign /f &quot;$(ProjectDir)My_Cert.pfx&quot; /p mypassword &quot;$(ProjectDir)obj$(ConfigurationName)\MyExe.exe&quot;" />
</Target>

我这样做是因为在尝试 运行 新发布的 SmartClient 应用程序时收到“文件具有与清单中指定的不同的计算哈希”错误。怎么了?

csproj 中插入的默认 PostBuildEvent 被定义为 属性 组中的 属性,您似乎将 Target 的代码粘贴到该 propertyGroup 中。这不仅没有达到预期的效果,它甚至会在加载项目文件时出错,因为属性没有 Name 属性,因此你有一些格式错误 xml。 解决方案:只需将目标放在项目级别,它就会在构建时、在 CoreCompile 之后但在链接之前等自动调用,因此它也是定义 'post build event' 因此造成混淆的一种方式。