ClickOnce无法查看在Post Build事件期间复制的文件

时间:2012-02-22 13:52:42

标签: .net deployment msbuild directory clickonce

Nuget包添加了postbuild事件:

if not exist "$(TargetDir)x86" md "$(TargetDir)x86"
xcopy /s /y "$(SolutionDir)packages\SqlServerCompact.4.0.8482.1\NativeBinaries\x86\*.*" "$(TargetDir)x86"
if not exist "$(TargetDir)amd64" md "$(TargetDir)amd64"
xcopy /s /y "$(SolutionDir)packages\SqlServerCompact.4.0.8482.1\NativeBinaries\amd64\*.*" "$(TargetDir)amd64"

当我编译时它会起作用  当我想发布时 - 这些目录(x86,amd64)不会出现在应用程序文件中。我不想复制现有的文件,因为nuget包将被更新,现有的副本将会改变,所以我必须记住我需要重新添加它们。如何通过clickonce部署这些确切的目录(嵌入式sqlce需要完全这样的结构)和文件,并使该过程不依赖于包版本?

1 个答案:

答案 0 :(得分:4)

在这里找到答案: https://stackoverflow.com/a/2514027/47672
就我而言,代码是:

<ItemGroup>
    <Content Include="$(TargetDir)x86\*.dll">
      <Link>x86\%(FileName)%(Extension)</Link>
      <Visible>false</Visible>
    </Content>
</ItemGroup>
<ItemGroup>
    <Content Include="$(TargetDir)x86\Microsoft.VC90.CRT\*.dll">
      <Link>x86\Microsoft.VC90.CRT\%(FileName)%(Extension)</Link>
      <Visible>false</Visible>
    </Content>
</ItemGroup>