Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在生成事件中所做的更改不会在clickonce发布时持久化_C#_Visual Studio_Msbuild_Clickonce_Msbuild Task - Fatal编程技术网

C# 在生成事件中所做的更改不会在clickonce发布时持久化

C# 在生成事件中所做的更改不会在clickonce发布时持久化,c#,visual-studio,msbuild,clickonce,msbuild-task,C#,Visual Studio,Msbuild,Clickonce,Msbuild Task,我对发布后未持续的生成后事件所做的更改有问题 目前,我将我的项目设置为在后期生成事件中的几个静态文件末尾附加一些额外信息。当我在本地查看结果文件(\bin\x86\Debug\)时,我可以验证是否已进行了更改 当我查看clickonce发布的相同文件时(在\Application files\目录中),这些文件显示时,没有对其进行任何更改。 除了生成后事件外,我还尝试了发布前的目标,但仍然收到相同的结果: <Import Project="$(MSBuildToolsPath)\Micr

我对发布后未持续的生成后事件所做的更改有问题

目前,我将我的项目设置为在后期生成事件中的几个静态文件末尾附加一些额外信息。当我在本地查看结果文件(
\bin\x86\Debug\
)时,我可以验证是否已进行了更改

当我查看clickonce发布的相同文件时(在
\Application files\
目录中),这些文件显示时,没有对其进行任何更改。




除了生成后事件外,我还尝试了发布前的
目标,但仍然收到相同的结果:

<Import Project="$(MSBuildToolsPath)\Microsoft.Common.Targets" />
<Target Name="BeforePublish">
    <!-- build event here -->
</Target>




有人能解释我为什么会出现这种行为并提出解决方案吗?

您需要修改
obj
文件夹中的文件-它们就是从该文件夹复制到
publish
文件夹中的。在我的应用程序中,我使用以下逻辑为应用程序的所有文件签名:

  <Target Name="SignOutput" AfterTargets="CoreCompile" Condition="'$(ConfigurationName)'=='Release'">
    <PropertyGroup>
      <TimestampServerUrl>http://timestamp.verisign.com/scripts/timestamp.dll</TimestampServerUrl>
      <ApplicationDescription>MY APP</ApplicationDescription>
      <SigningCertificateCriteria></SigningCertificateCriteria>
    </PropertyGroup>
    <ItemGroup>
      <SignableFiles Include="$(ProjectDir)obj\$(ConfigurationName)\$(TargetName)$(TargetExt)" />
    </ItemGroup>
    <Exec Condition=" '$(ConfigurationName)'=='Release'" Command="&quot;c:\Program Files (x86)\Windows Kits\8.0\bin\x64\signtool.exe&quot; sign $(SigningCertificateCriteria) /d &quot;$(ApplicationDescription)&quot; /t &quot;$(TimestampServerUrl)&quot; &quot;%(SignableFiles.Identity)&quot;" />
  </Target>
线路

Include="$(ProjectDir)obj\$(ConfigurationName)\$(TargetName)$(TargetExt)"