naw*_*fal 36 directory copy xcopy visual-studio visual-studio-2012
我希望在每个构建中将特定目录复制到输出文件夹("bin").我认为它可以通过post build脚本来处理.但我不确定如何复制目录本身.我知道如何处理特定文件.
例如,这适用于文件:
在
项目>属性>构建事件>后期构建
COPY "$(SolutionDir)Resources\Release Notes.pdf" "$(TargetDir)"
Run Code Online (Sandbox Code Playgroud)
但假设我有一个目录Template,现在我需要的一切在Template来bin在成功的build文件夹保持文件夹结构.
我试过这个:
COPY "$(SolutionDir)Resources\Template\" "$(TargetDir)"
Run Code Online (Sandbox Code Playgroud)
只有Template目录中的文件以这种方式复制,而不是子目录和文件Template夹内的文件.我希望文件夹Template本身进入我的输出bin文件夹.换句话说,bin应该看起来像:
bin > Template > abc.xxx
xxx.yyy
Subdirectory1 > asd.qwe
zxc.qwe
Subdirectory2 > ...
Run Code Online (Sandbox Code Playgroud)
这可能是重复的,但我找不到相关的线程.谢谢.
Cod*_*ife 51
我刚刚将它添加到我的 *.csproj 文件中(右键单击“编辑项目文件”)
<ItemGroup>
<Content Include="MYCUSTOMFOLDER\**">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
我认为为此目录需要与 *.csproj 文件处于相同的层次结构级别或低于该级别。
naw*_*fal 42
这对我有用./S是递归复制所有内容的关键.
XCOPY "$(SolutionDir)Resources\Template" "$(TargetDir)\Template\" /S
Run Code Online (Sandbox Code Playgroud)
由于我希望每次都没有提示文件被覆盖,我也添加了一个/Y开关.
XCOPY "$(SolutionDir)Resources\Template" "$(TargetDir)\Template\" /S /Y
Run Code Online (Sandbox Code Playgroud)
Phi*_*lAI 20
尝试XCOPY而不是COPY; 例如
XCOPY "$(SolutionDir)Resources\Template\" "$(TargetDir)\Template" /s /i /y
Run Code Online (Sandbox Code Playgroud)
有关XCOPY的更多信息,请点击此处...
http://www.computerhope.com/xcopyhlp.htm
van*_*dre 11
CodingYourLife的解决方案几乎对我有用,但我发现 PreserveNewest 没有受到尊重。我在 Visual Studio 论坛上找到了一个可以正常工作的解决方案。我的 .CSPROJ 现在看起来像这样:
<Content Include="assets\**">
<Link>assets\%(RecursiveDir)\%(Filename)%(Extension)</Link>
<TargetPath>assets\%(RecursiveDir)\%(Filename)%(Extension)</TargetPath>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
Run Code Online (Sandbox Code Playgroud)
注意:此解决方案需要 Visual Studio 16.10 或更高版本。
小智 9
截至本文发布之日,这是在 Visual Studio 2019 上运行的另一个解决方案。这将递归复制文件夹结构及其中的所有文件。在多项目解决方案中的 C++ .vcxproj 上进行了测试。
首先,首先编辑 [ .proj / .vcxproj / .csproj ] 文件。打开后,找到您的项目范围标签。如果您已经有 ItemGroups,请将下面的代码直接粘贴到现有的 ItemGroups 之后。否则,请将其添加到 PropertyGroup 标记之前。然后修改要复制到输出路径的文件夹结构的包含和链接参数。
<ItemGroup>
<Content Include="..\Assets\**\*.*">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<DeploymentContent>true</DeploymentContent>
<Link>Assets\%(RecursiveDir)\%(Filename)%(Extension)</Link>
</Content>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
注意:如果您有多个顶级文件夹,例如 JS、IMG、BIN 等,请为每个文件夹创建一个新条目。
| 归档时间: |
|
| 查看次数: |
29769 次 |
| 最近记录: |