【问题标题】:Best way to configure build directory structure for a windows application为 Windows 应用程序配置构建目录结构的最佳方法
【发布时间】:2010-10-14 06:48:40
【问题描述】:

我目前正在编写一个小型应用程序,并试图组织我的构建输出以更接近最终产品。该应用程序由许多不同的项目组成。有一个包含大部分功能的核心库,一个 GUI 应用程序和一个命令行应用程序都引用了 Core Dll,还有一些在运行时加载并实现不同数据源的插件 Dll,这些都引用 core.dll ,这些也可能包括其他一些第三方 dll。还有一些外围文件,例如自述文件。最后对 core.dll 和数据源插件进行单元测试。

我想配置我的构建,以便将所有内容输出到目录中,就像我在安装时所期望的那样。我希望将调试和发布版本构建到不同的目录中,但在其他方面具有相同的目录结构。我只希望为调试构建构建测试,并希望它们可以运行,但是是分开的(我猜所有的测试 dll 都会输出到一个单独的目录中)。这是我想象的结构。

Code/
    solutions etc here
Debug/

    Project.Core.dll
    Project.Gui.exe
    Project.Cli.exe
    readme.txt
    lib/
        ThirdParty1.dll
        ThirdParty2.dll
    DataSource/
        DataSource1.dll
        DataSource2.dll
    Tests/
        Project.Core.Tests.dll
        DataSource1.Tests.dll
Release/
    same as Debug but without tests.

有没有办法获得这样的构建解决方案?我开始认为从一个解决方案构建插件和应用程序将很困难,甚至可能不明智,但由于它们都将一起分发,所以会很好。我愿意使用 Nant 或其他构建工具,如果这样可以更简单的话。

【问题讨论】:

    标签: visual-studio visual-studio-2008 msbuild build-process nant


    【解决方案1】:

    这是可能的。只需在 Debug 和 Release 文件中的每个 .csproj 中手动修改 OutputPath 标记即可

    <OutputPath>..\$(Configuration)\any_subdirs</OutputPath>
    

    您可以使用配置管理器禁用为发布构建测试。

    【讨论】:

      【解决方案2】:

      每次创建新项目时都修改每个项目很烦人。

      解决办法如下:

      1. 找到真正的 vs 项目,它会在 ("%programfiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates*") 下某处

      2. 将其复制到本地某处。

      3. 提取它。

      4. 编辑内容,进行更适合您的项目布局样式的更改。确保更新项目名称,该名称是您在新项目对话框中查找项目时看到的名称。它的 xml 标签是 Name,您可以在 {something}.vstemplate 文件中找到它。

      5. 再次压缩内容。 (注意:内容不能在子文件夹中,所以 /* 而不是 /{somefolder}/*)。

      6. 将您的自定义项目放在 ("%USERPROFILE%\Documents\Visual Studio 2010\Templates\ProjectTemplates*") 下。

      7. 添加一个新项目是 Visual Studio,选择您的自定义项目,然后享受吧!

      【讨论】:

        猜你喜欢
        • 2013-07-02
        • 2010-12-11
        • 1970-01-01
        • 1970-01-01
        • 2018-01-13
        • 2011-07-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多