【问题标题】:Compiler settings for VS 2017 Community EditionVS 2017 社区版的编译器设置
【发布时间】:2019-02-25 07:25:47
【问题描述】:

我正在创建一个大型项目,它将与一系列程序(目前是 CorelDraw,但将来也可以与 InkScape,也许是 Illustrator 一起使用)进行交互,并且可能作为一个独立的程序。

为此,我将我的解决方案分为许多项目: - 一个用于 WinForms UI, - 另一个领域模型, - 另一个用于特定版本的 Corel Draw

所以,由于我仍在学习 C#(以及工具 - VS2017 社区),我选择了 WinForms,因为它更接近我已经熟悉的 VBA,但将来我可能打算转向 WPF,或者其他一些 UI(例如,该域可用于移动应用程序或网站)。

另外关于 Corel Draw 的特定版本,我从我在工作中使用的那个开始,但将来我会添加其他项目来与每个版本进行交互。更具体地说,每个生成 .dll(s) 的每个版本的 Corel Draw 的项目都需要启动插件。或者,如果我选择制作一个独立的应用程序,则需要 .dll InkScape 的另一个项目,甚至是 Main exe。

简而言之:我如何为编译器保存不同的“配置文件”以了解要编译哪些项目以及不编译哪些项目,并为每个项目设置不同的“构建路径”(所以当我为每种类型制作安装程序时构建时,我拥有构建正常工作所需的所有必要文件)?

【问题讨论】:

    标签: visual-studio-2017


    【解决方案1】:

    打开您的解决方案后,“解决方案资源管理器”->right-click 您的解决方案(在窗口顶部)->“属性”->“配置属性”->“配置”。

    然后点击“配置管理器”,然后点击“Active Solution Configuration”->“New...”。

    这将创建一个新配置。您现在可以选择如何/是否应该为该配置构建各种项目。 (您也可以使用同一窗口来编辑现有配置的构建方式)。

    如果您从根本上构建不同的东西,您也可以考虑制作一个完全不同的解决方案(这可能比最终为一个解决方案使用 30 个构建配置更容易)

    此外,您可以通过$(ConfigurationName) 宏获取项目中的配置名称。不过,最好确保您的项目可以在没有正确设置的情况下构建(这样它们就不会依赖于特定的解决方案)

    【讨论】:

    • 非常感谢您的回答。但是,我仍然缺少一些东西。在“配置管理器”下,我可以选择将编译或不编译哪些项目,但在“通用属性”(我可以选择启动/初始化项目)中,它似乎不允许我根据不同的构建配置选择不同的项目。此外,我似乎无法找到根据构建配置为编译的 dll 设置 bin 路径的位置。
    • 无论如何,再次感谢,我会尝试找到有关构建配置的官方文档,也许我会转向不同的解决方案。猜猜它最终会迫使我减少 UI、领域模型和启动它所需的基础设施之间的不同项目。
    • 对于 .NET dll,引用应该是项目的 CLSID/GUID。这在引用正确的 dll 方面做得很好。如果这是一个问题,或者对于外部 dll,您可以使用$(ConfigurationName 设置输出路径,然后让您的项目在参考中使用相同的宏。您可以查看属性页中的参考路径。直接编辑项目文件通常也很有用(Unload project,然后是Edit
    • 再次感谢您!我会尝试看看什么最适合我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多