如何将一个项目的源文件包含在另一个项目中?

时间:2013-12-09 06:17:42

标签: c# visual-studio visual-studio-2010 project

我正在用C#/ .NET编写一个类库。

我需要为两个不同的框架编译它:

  • 4.0(自己用于调试)
  • 3.5(在客户端使用)。

我想为这两个项目设置一个源文件,因此我可以在一个文件副本中进行更正,它们会自动包含在另一个项目中。

现在,如果我甚至使用“添加现有项目”,VS 2010会创建副本;我需要每次都复制最新版本。

我不能只改变项目中的目标,因为我正在使用不同版本的.dll引用,因为ms vs有一些怪癖。

3 个答案:

答案 0 :(得分:7)

一种选择是使用其他人提到的添加为链接选项,但您有更多选项:

  1. Portable Class Libraries是一种特殊的项目,允许您指定要定位的.NET版本。然后编译器为您输出相应的程序集。这种技术的优点是你有一个版本的源代码可以编译到两个框架。缺点是您不能使用最低标准.NET框架不支持的功能。
  2. 源控制分支&合并允许您实际维护2个相似但不同的源文件。您有一个版本是主版本,然后在对其进行更改后,将其合并到生成实际输出的项目中。这种技术的优点是你可以拥有两个完全独立的文件,因此你有很多自由。缺点是你有两个完全独立的文件,这些文件很难管理。
  3. 做得更好的MsBuild技巧。使用<choose>/<when>构造,您可以根据条件有条件地包含对特定程序集版本的引用。目标框架版本和其他花哨的设置也可以通过MsBuild进行管理,但您不能总是通过UI编辑这些设置。您可以将此与#if MY_CONSTANT结合使用来创建应用程序的有条件编译部分
  4. 您可以创建从两个项目引用的.NET程序集。您将.NET版本设置为最低版本,在您的情况下为3.5。 Visual Studio 2010及更高版本具有多目标支持,您可以在一个解决方案中混合和匹配.NET框架版本。
  5. 您遇到了什么样的问题,如果您共享(部分)项目文件,我们可能会为您解决这些问题。

答案 1 :(得分:6)

您可以使用Add as Link功能。

它是这样的:

  • 右键单击您需要(现有)文件的位置
  • “添加” - &gt; “现有项目”
  • 选择您的文件,然后点击“添加”按钮上的箭头,选择“添加为链接”(见下面的屏幕截图)
  • 该文件的链接将添加到项目而不是副本

Screenshot

答案 2 :(得分:3)

向项目添加文件时,选择“添加为链接”,而不仅仅是添加。

Add as link

相关问题