C# 是否将不同的文件复制到输出目录以进行发布和调试?

C# 是否将不同的文件复制到输出目录以进行发布和调试?,c#,visual-studio-2010,visual-studio,msbuild,C#,Visual Studio 2010,Visual Studio,Msbuild,我知道如何通过Properties=>Copy Always选择要复制到生成的输出目录中的文件,但我无法找到根据生成类型复制不同文件的方法 我有两个单独的配置文件,一个是为本地开发设置的(即只在调试构建时复制),另一个是为服务器环境设置的(即只在发布构建时复制) 有人知道如何实现这种类型的条件功能吗?为什么不使用后期生成事件并调用xCopy来复制所需的文件?目前,我已通过使用@Bayeni共享的本文中答案的稍加修改版本实现了所需的功能: 这是目前为我工作,但如果有更好的方式去做这件事,请让我知道

我知道如何通过Properties=>Copy Always选择要复制到生成的输出目录中的文件,但我无法找到根据生成类型复制不同文件的方法

我有两个单独的配置文件,一个是为本地开发设置的(即只在调试构建时复制),另一个是为服务器环境设置的(即只在发布构建时复制)


有人知道如何实现这种类型的条件功能吗?

为什么不使用后期生成事件并调用xCopy来复制所需的文件?

目前,我已通过使用@Bayeni共享的本文中答案的稍加修改版本实现了所需的功能:

这是目前为我工作,但如果有更好的方式去做这件事,请让我知道

  <ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
    <Content Include="local.cfg">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
  </ItemGroup>
  <ItemGroup Condition=" '$(Configuration)' == 'Release' ">
    <Content Include="release.cfg">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
  </ItemGroup>

总是
总是

查看页面底部罗密欧的答案:我会试试,但看起来主要是针对VS app.config文件。复制我自己的应用程序读取的自定义配置文件是否有效?这是一个将在IIS中运行的应用程序吗?(我知道有一些内置功能可以做到这一点,但它们只适用于ASP.NET和类似的项目)@Bayeni,加上一些小的调整,效果不错@ScottChamberlain,不,这是一个助手控制台应用程序,将由另一个应用程序在后台调用,我相信它正在IIS中运行。与@Bayeni共享的帖子中建议的方法相比,这有什么好处吗?在
.csproj
文件中添加带有文件includes的条件
项目组
条目?我添加了此问题的答案,以显示当前对我有效的方法。如果您提出的解决方案有任何好处,请发表意见。它类似于
选项,但您必须选择调用多个程序(xCopy)并从中获得一些输出(比如日志文件)其中一个问题是,这会将两个不同的文件名复制到目标目录。我目前正在使用预处理器指令来处理这一问题,以根据生成类型选择适当的配置文件。