Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.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# 在发布期间包含文件_C#_Visual Studio 2010_Post Build Event - Fatal编程技术网

C# 在发布期间包含文件

C# 在发布期间包含文件,c#,visual-studio-2010,post-build-event,C#,Visual Studio 2010,Post Build Event,我想在发布期间包含来自不同项目的一些文件。 因此,在我的文件中: <Target Name="AfterBuild"> <CallTarget Targets="PublishWinService" /> </Target> <Target Name="PublishWinService"> <Copy SourceFiles ="$(SolutionDir)..\References\Test\**\*" D

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

<Target Name="AfterBuild">
<CallTarget Targets="PublishWinService" />
</Target>
<Target Name="PublishWinService">
<Copy 
      SourceFiles ="$(SolutionDir)..\References\Test\**\*"   
      DestinationFolder="$(ProjectDir)" />
</Target> 
     <Copy SourceFiles="@(YourFilesToCopy)" DestinationFolder="C:\Test56\" />
        <!--DestinationFolder="%(RecursiveDir)%(Filename)%(Extension)"-->
</Target>

但我认为这样说是错误的:

     <Copy SourceFiles="@(YourFilesToCopy)" DestinationFolder="C:\Test56\" />
        <!--DestinationFolder="%(RecursiveDir)%(Filename)%(Extension)"-->
</Target>
无法复制文件 “C:\PrakashSourceCode\Source\Abc ..\References\Test***“到 “C:\PrakashSourceCode\Source\Abc\Abc.web*”。 路径中存在非法字符

     <Copy SourceFiles="@(YourFilesToCopy)" DestinationFolder="C:\Test56\" />
        <!--DestinationFolder="%(RecursiveDir)%(Filename)%(Extension)"-->
</Target>
现在我把它改成:

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


但是在发布期间,我看不到文件,在构建期间,我可以看到文件。

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

     <Copy SourceFiles="@(YourFilesToCopy)" DestinationFolder="C:\Test56\" />
        <!--DestinationFolder="%(RecursiveDir)%(Filename)%(Extension)"-->
</Target>
右键单击要发布的文件->属性->复制到输出目录

     <Copy SourceFiles="@(YourFilesToCopy)" DestinationFolder="C:\Test56\" />
        <!--DestinationFolder="%(RecursiveDir)%(Filename)%(Extension)"-->
</Target>
默认值为“请勿复制”。将此选项更改为“始终复制”,或“更新时复制”

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

这将确保文件位于生成目录中。您可以从那里获取它。

您是否手动编辑了此文件?参考目录前有2个点。你加上这个点了吗?如果是,为什么是两个点?它们指定了我想要的根名称的位置是的,但我认为它不能正常工作。C:\PrakashSourceCode\Source\Lancet.Engine是您的SolutionDir,SolutionDir后面有两个点。要复制的文件路径是什么?是否尝试了SourceFiles=“$(SolutionDir)\..\References\Test\****”
     <Copy SourceFiles="@(YourFilesToCopy)" DestinationFolder="C:\Test56\" />
        <!--DestinationFolder="%(RecursiveDir)%(Filename)%(Extension)"-->
</Target>