2

I would like to generate an empty folder in my bin, however you can't apply "copy always" to folders, only to items within folders. Is there a cleaner way to do this than to create an empty file in the folder and tag it with copy always? I'm using VS 12 and this is for a WPF C# app

4

2 回答 2

1

您可以使用构建后事件。
右键单击您的项目文件并选择属性然后生成事件

在 Post-Build 事件的空白文本框中,键入命令行以复制/创建目标目录中的文件。

您还可以调用批处理文件或使用一些包含工作文件夹名称的预定义宏。

你可以定义你的命令应该运行的确切上下文(在成功构建时......)

抱歉,我没有时间测试,但我希望能给你一个正确的开始:

创建一个名为 Test.cmd 的批处理文件,添加这些行并将其保存在解决方案文件夹中

rem ---------------------
rem %1 = $(ProjectDir) 
rem %2 = $(SolutionDir) 
rem %3 = $(TargetDir) 
rem ---------------------
C:
CD %2
IF NOT EXIST %3\test1. md %3\test1
xcopy %1 %3\test1

然后在 Post-Build 事件中调用它

$(SolutionDir)test.cmd $(ProjectDir) $(SolutionDir) $(TargetDir)
于 2013-05-20T16:43:33.320 回答
1

您可以使用以下命令直接编辑.csproj文件:

<ItemGroup>
  <None Remove="MyEmptyFolder\" />
</ItemGroup>

<ItemGroup>
  <Folder Include="MyEmptyFolder\">
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
  </Folder>
</ItemGroup>

您可以通过在文件夹中添加一个文件,将其标记为始终复制(它将修改 csproj),然后将其删除并从 csproj 中删除文件名,同时仅保留文件夹,即可轻松获得此解决方案。

于 2021-11-18T18:34:13.127 回答