【问题标题】:One .NET solution with two projects (with different references), using the same source code?一个 .NET 解决方案,有两个项目(具有不同的引用),使用相同的源代码?
【发布时间】:2013-03-13 20:09:43
【问题描述】:

情况是这样的:我有一个访问一些外部硬件的应用程序。为此,我以 .NET 框架的形式使用硬件供应商提供的 API。这里没问题,我只是在框架中添加一个项目引用就可以了。

但现在我希望能够构建应用程序的“独立”版本,除了访问硬件之外,它的功能完全相同。 我的意图是在使用 same 源文件的同一解决方案中创建一个新项目。它应该没有对框架的项目引用,然后我想我可以使用一些简单的#define 来禁用访问框架的部分。

但我不知道该怎么做。如果我将一个新项目添加到同一个解决方案中,Visual Studio 似乎会将文件(文件->添加现有)复制到新项目目录中。而且由于我将继续处理这些文件,我真的不想复制它们。

主要问题是所需的驱动程序非常庞大,客户不想将它们安装在所有 PC 上,而只是安装在实际使用硬件的单个 PC 上。

我使用 Visual Studio .NET 2008 和 C++,该项目是一个 Windows 窗体应用程序。

【问题讨论】:

    标签: .net visual-studio-2008 visual-c++


    【解决方案1】:

    当您添加现有文件时,将它们添加为链接。

    添加按钮下拉列表中,选择添加为链接

    这在 MSDN 文章 How to: Add Existing Items to a Project 中有描述。

    【讨论】:

    • 感谢您的快速反馈!但我认为这是 Visual Studio 2010 的功能,我坚持使用 2008 版本。
    • 好吧,你赢了。事实证明,对于 C++ 项目,所有文件都被视为链接,因此没有明确的“添加为链接”。但它只适用于使用“添加”。谢谢!
    • @Eric - 很高兴我能帮上忙 :)
    【解决方案2】:

    我认为创建一个新的构建配置而不是一个具有相同源文件的完全独立的项目会更好。从本质上讲,Configuration 就像拥有单独的项目,例如,您可以将其设置为 Debug 或 Release。在您的情况下,创建一个新配置,并针对该条件修改项目设置(包括引用)。然后您可以在两种配置之间切换。从构建菜单进入配置管理器。您对项目设置所做的任何更改都适用于当前配置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多