如何在c#中保持项目之间共享的公共代码?

时间:2010-12-03 13:04:34

标签: c#

我是c#的新手,我正试图找到一个很好的解决方案,以便将公共代码保存在几个项目所使用的地方。

首先我尝试将其保存在.cs文件中并将其添加到需要代码的项目中,但这会复制文件意味着如果我对公共代码进行任何更改,它将不会反映在使用此项目的各个项目中代码。

然后我尝试创建一个类库,并使用代码在项目中引用DLL。首先,即使我遵循教程,我也无法让它工作,即使我引用DLL我仍然无法以某种方式使用它,但即使这样工作它仍然需要一个额外的DLL与我的应用程序捆绑在一起一些常见的代码,这不是我想要的。

有没有办法保持公共代码是REFERENCED而无需发送DLL

5 个答案:

答案 0 :(得分:10)

最佳解决方案是在每个项目中引用一个公共库。但是你说你不想这样做,因为它需要捆绑额外的dll,这真的是一个大问题吗?你还提到你不能让它工作,发布错误的细节等,我们将能够提供帮助。

假设您使用Visual Studio,另一个选项是将公共文件链接到您的项目而不是添加它。这会将公共文件保留在当前位置,而不是将其移动到项目目录中。

要执行此操作,请转到添加现有文件对话框,但在“添加”按钮上单击向下箭头并选择“链接”。

如上所述,使用通用库是最佳解决方案,因此如果捆绑这是一个不可逾越的问题,您可以考虑使用ilmerge。这会将您的所有dll / exes合并到一个文件中,然后可以部署。

答案 1 :(得分:4)

您可以添加指向公共文件的链接:

  1. 右键单击项目
  2. 选择“添加”=> '现有项目......'
  3. 找到您要共享的.cs文件
  4. 点击添加框
  5. 上的下拉菜单
  6. 选择,添加为链接。
  7. 希望这有帮助!

答案 2 :(得分:1)

你快到了。您可以添加现有文件,但请注意,您可以展开“添加”按钮并选择链接到该文件。

答案 3 :(得分:0)

您可以将链接文件添加到项目中 - 这不会创建副本,只是引用它。

请参阅链接页面中的"Adding an Existing Item as a Link"部分:

创建指向现有项目的链接:

  1. 在Solution Explorer中,选择目标项目。
  2. 在“项目”菜单上,选择“添加现有项目”。
  3. 在“添加现有项目”对话框中,找到并选择要链接的项目项目。
  4. 从“打开”按钮下拉列表中,选择“添加为链接”。

答案 4 :(得分:0)

在visual studio中,您可以添加指向现有项目的链接:

在解决方案资源管理器中,右键单击并选择添加 - >现有项目...... 浏览到该文件,而不是单击“添加”,选择“添加为链接”。

但是我建议对公共代码使用单独的项目。