我是c#的新手,我正试图找到一个很好的解决方案,以便将公共代码保存在几个项目所使用的地方。
首先我尝试将其保存在.cs文件中并将其添加到需要代码的项目中,但这会复制文件意味着如果我对公共代码进行任何更改,它将不会反映在使用此项目的各个项目中代码。
然后我尝试创建一个类库,并使用代码在项目中引用DLL。首先,即使我遵循教程,我也无法让它工作,即使我引用DLL我仍然无法以某种方式使用它,但即使这样工作它仍然需要一个额外的DLL与我的应用程序捆绑在一起一些常见的代码,这不是我想要的。
有没有办法保持公共代码是REFERENCED而无需发送DLL
答案 0 :(得分:10)
最佳解决方案是在每个项目中引用一个公共库。但是你说你不想这样做,因为它需要捆绑额外的dll,这真的是一个大问题吗?你还提到你不能让它工作,发布错误的细节等,我们将能够提供帮助。
假设您使用Visual Studio,另一个选项是将公共文件链接到您的项目而不是添加它。这会将公共文件保留在当前位置,而不是将其移动到项目目录中。
要执行此操作,请转到添加现有文件对话框,但在“添加”按钮上单击向下箭头并选择“链接”。
如上所述,使用通用库是最佳解决方案,因此如果捆绑这是一个不可逾越的问题,您可以考虑使用ilmerge。这会将您的所有dll / exes合并到一个文件中,然后可以部署。
答案 1 :(得分:4)
您可以添加指向公共文件的链接:
希望这有帮助!
答案 2 :(得分:1)
你快到了。您可以添加现有文件,但请注意,您可以展开“添加”按钮并选择链接到该文件。
答案 3 :(得分:0)
您可以将链接文件添加到项目中 - 这不会创建副本,只是引用它。
请参阅链接页面中的"Adding an Existing Item as a Link"部分:
创建指向现有项目的链接:
答案 4 :(得分:0)
在visual studio中,您可以添加指向现有项目的链接:
在解决方案资源管理器中,右键单击并选择添加 - >现有项目...... 浏览到该文件,而不是单击“添加”,选择“添加为链接”。
但是我建议对公共代码使用单独的项目。