繁体   English   中英

如何确保只有* .exe或* .dll文件转到输出文件夹,其他任何构建文件都转到中间文件夹VS2012?

[英]How can I make sure only *.exe or *.dll file goes to output folder and any other build files goes to intermediate folder VS2012?

我在VS2012上创建了一个C#项目,我希望输出文件夹只包含.exe / .dll文件,在构建项目时创建的任何其他文件都将转到中间文件夹。

我有一个属性表定义了中间位置。

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <PropertyGroup>
    <BUILD_ROOT>f:\test</BUILD_ROOT>
    <BUILD_INTERMEDIATE>f:\test</BUILD_INTERMEDIATE>
  </PropertyGroup>

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <IntermediateOutputPath>$(BUILD_INTERMEDIATE)\inter\debug\</IntermediateOutputPath>
    <BaseIntermediateOutputPath >$(IntermediateOutputPath)</BaseIntermediateOutputPath >
  </PropertyGroup>

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <IntermediateOutputPath>$(BUILD_INTERMEDIATE)\inter\Release\</IntermediateOutputPath>
    <BaseIntermediateOutputPath >$(IntermediateOutputPath)</BaseIntermediateOutputPath >
  </PropertyGroup>

</Project>

我手动将此属性表导入到我的项目文件中

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <Import Project="$(MSBuildProjectDirectory)\PropertySheet.props" />

当我构建项目时,它会为输出和中间创建单独的文件夹。 中间文件夹包含所有中间文件以及pdb文件。 但它也包含exe文件。

但我面临的问题是,输出文件夹中也包含大部分文件,它们也在中间文件夹中。 如pdb,exe,config等

任何人都可以通过解释我应该做什么来帮助我,只有.exe文件将在输出文件夹中,任何其他构建时文件只会留在中间文件夹?

您应该创建一个额外的“dist”文件夹(或类似文件),并在构建后将exe和dll文件复制到该文件夹​​。 有许多MSBuild属性和目标可以将文件放在输出文件夹中,尝试更改此行为可能会破坏功能。

此外,如果指定BaseIntermediateOutputPath则不应指定IntermediateOutputPath 对于上面的属性,您似乎正在尝试使用此:

<BaseIntermediateOutputPath>$(BUILD_INTERMEDIATE)\inter\</BaseIntermediateOutputPath>

如果我这样做,我会创建一个bat文件作为后期构建脚本运行,移动任何非DLL和exe文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM