【问题标题】:Copy every files of a dir automatically using post build executions in vs19使用 vs19 中的构建后执行自动复制目录的每个文件
【发布时间】:2020-06-29 16:13:20
【问题描述】:

我想使用参数“生成一个文件”来构建我的游戏(我猜,我的 vs 是法语),但这不会复制我的 Content/ 文件夹

我搜索了一下,在 .csproj 中找到了 PostBuild 执行的东西。所以我尝试了一些方法,它确实有效。

这是制作的

xcopy "$(ProjectDir)Content" "$(ProjectDir)bin\Release\netcoreapp3.1\publish\Latest\win86\Content" /s /y

但这根本不是自动化的。我有一个固定的输出 "$(ProjectDir)bin\Release\netcoreapp3.1\publish\Latest\win86\Content" 所以如果我想发布到 mac 和 linux,文件不会被复制到正确的位置。

那么是否有一个环境变量分别携带发布的输出目录:

$(ProjectDir)bin\Release\netcoreapp3.1\publish\Latest\win86\    for win-x86
$(ProjectDir)bin\Release\netcoreapp3.1\publish\Latest\osx64\    for osx-x64
$(ProjectDir)bin\Release\netcoreapp3.1\publish\Latest\lin64\    for linux-x64

这些文件夹是手工制作的,并且是手工植根的,所以我只需要一个变量,比如“OutputDir”之类的。

所以我可以这样使用它

xcopy "$(ProjectDir)Content" "$(OutputDir)Content" /s /y

我无法在 Microsoft 文档中找到答案。

如果有任何帮助,我将不胜感激

【问题讨论】:

    标签: c# visual-studio xcopy


    【解决方案1】:

    这是 MSDN 的 List of common macros for MSBuild commands 用于项目文件定义。

    在里面你会发现:

    $(目标目录)

    构建的主要输出文件的目录 (定义为驱动器+路径);包括尾部反斜杠 ''。

    还要注意,在 Visual Studio 中项目的“属性”视图中,在您可以编辑 Post Build 脚本的位置旁边,您可以单击“宏 >>”按钮查看宏列表以及它们解析为的值.

    【讨论】:

    • 所以现在我有 xcopy "$(ProjectDir)Content" "$(TargetDir)Content" /s /y
    • 很高兴听到它奏效了。如果它确实解决了问题,请考虑将您的问题标记为已回答,以便稍后搜索的其他人知道它确实解决了问题。如果它只是部分解决了问题,您可以在此处添加更多 cmets 以澄清问题,或者使用有关哪些问题的更多详细信息更新您的问题。
    • 谢谢,我忘了做
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    • 2013-10-04
    相关资源
    最近更新 更多