【问题标题】:Include files during publish在发布期间包含文件
【发布时间】:2013-05-28 12:59:23
【问题描述】:

我想在发布期间包含来自不同项目的一些文件。 所以在我的文件中:

<Target Name="AfterBuild">
<CallTarget Targets="PublishWinService" />
</Target>
<Target Name="PublishWinService">
<Copy 
      SourceFiles ="$(SolutionDir)..\References\Test\**\*"   
      DestinationFolder="$(ProjectDir)" />
</Target> 

但它给了我错误的说法:

无法复制文件 "C:\PrakashSourceCode\Source\Abc ..\参考\测试***”到 “C:\PrakashSourceCode\Source\ Abc\Abc.web*”。 路径中有非法字符。

现在我将其更改为:

     <Copy SourceFiles="@(YourFilesToCopy)" DestinationFolder="C:\Test56\" />
        <!--DestinationFolder="%(RecursiveDir)%(Filename)%(Extension)"-->
</Target>

但在发布期间我无法看到文件,而在构建期间我可以看到文件。

【问题讨论】:

  • 您是否手动编辑过此文件?
  • References 目录前有 2 个点。你加了这个点吗?如果是,为什么是 2 个点?
  • 指定位置作为我想要的根名称
  • 是的,但我认为它不能正常工作。 C:\PrakashSourceCode\Source\Lancet.Engine 是您的 SolutionDir,您的 2 个点位于 SolutionDir 之后。您要复制的文件路径是什么?
  • 你试过 SourceFiles ="$(SolutionDir)\..\References\Test\**\*.*"

标签: c# visual-studio-2010 post-build-event


【解决方案1】:

如果这个简单的解决方案适合您,您可以尝试(只有在您可以修改和保存 .prj 文件的情况下才有效):

右键单击要发布的文件 -> 属性 -> 复制到输出目录

默认值为不复制。将其更改为始终复制如果更新则复制

这将确保文件位于构建目录中。你可以去那里取。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 2019-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-01
    • 1970-01-01
    相关资源
    最近更新 更多