程序集是在 post-build 事件之前还是之后使用强名称签名的?
Is an assembly signed with a strong name before or after the post-build event?
我正在使用 editbin
修改程序集的堆栈大小,请参阅
现在我问自己:程序集是在 post-build 事件之前还是之后使用强名称签名的?因为 editbin
正在更改 post-build 事件中的程序集。
我的 post 构建事件看起来像这样:
"$(DevEnvDir)..\..\VC\bin\editbin.exe" /STACK:16777216 "$(TargetPath)"
我的项目 .csproj
文件包含以下行:
<PropertyGroup>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\STRONGNAME.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup>
<PostBuildEvent>"$(DevEnvDir)..\..\VC\bin\editbin.exe" /STACK:16777216 "$(TargetPath)"</PostBuildEvent>
</PropertyGroup>
程序集在 post-build 事件之前使用强名称签名。这意味着 editbin
将更改该程序集并且签名不再有效。
sn.exe -v assembly.exe
将 return Failed to verify assembly -- Strong name validation failed ...
获得使用 editbin
修改的有效签名程序集的解决方法是使用 AfterCompile
事件并使用 sn
.
退出程序集
项目文件应如下所示:
<Target Name="AfterCompile">
<Exec Command="
"$(DevEnvDir)..\..\VC\bin\editbin.exe" /STACK:16777216 "$(ProjectDir)obj$(ConfigurationName)$(TargetFileName)"
echo $(FrameworkSDKDir)bin\NETFX 4.5.1 Tools\
"$(FrameworkSDKDir)bin\NETFX 4.5.1 Tools\sn.exe" -Ra "$(ProjectDir)obj$(ConfigurationName)$(TargetFileName)" "$(SolutionDir)\STRONGNAME.snk"
" />
</Target>
<PropertyGroup>
<PostBuildEvent>REM "See AfterCompile for stack size and resigning"</PostBuildEvent>
</PropertyGroup>
我正在使用 editbin
修改程序集的堆栈大小,请参阅
现在我问自己:程序集是在 post-build 事件之前还是之后使用强名称签名的?因为 editbin
正在更改 post-build 事件中的程序集。
我的 post 构建事件看起来像这样:
"$(DevEnvDir)..\..\VC\bin\editbin.exe" /STACK:16777216 "$(TargetPath)"
我的项目 .csproj
文件包含以下行:
<PropertyGroup>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\STRONGNAME.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup>
<PostBuildEvent>"$(DevEnvDir)..\..\VC\bin\editbin.exe" /STACK:16777216 "$(TargetPath)"</PostBuildEvent>
</PropertyGroup>
程序集在 post-build 事件之前使用强名称签名。这意味着 editbin
将更改该程序集并且签名不再有效。
sn.exe -v assembly.exe
将 return Failed to verify assembly -- Strong name validation failed ...
获得使用 editbin
修改的有效签名程序集的解决方法是使用 AfterCompile
事件并使用 sn
.
项目文件应如下所示:
<Target Name="AfterCompile">
<Exec Command="
"$(DevEnvDir)..\..\VC\bin\editbin.exe" /STACK:16777216 "$(ProjectDir)obj$(ConfigurationName)$(TargetFileName)"
echo $(FrameworkSDKDir)bin\NETFX 4.5.1 Tools\
"$(FrameworkSDKDir)bin\NETFX 4.5.1 Tools\sn.exe" -Ra "$(ProjectDir)obj$(ConfigurationName)$(TargetFileName)" "$(SolutionDir)\STRONGNAME.snk"
" />
</Target>
<PropertyGroup>
<PostBuildEvent>REM "See AfterCompile for stack size and resigning"</PostBuildEvent>
</PropertyGroup>