引用没有DLL的公共CS

时间:2017-06-16 18:38:42

标签: c# visual-studio

在Visual Studio 2013中,我尝试为cs文件添加命名空间,该文件是项目的公共文件(使用“添加现有项目”添加)。

例如,我将new.cs添加到与old.cs相同的项目中

有没有办法从old.cs调用new.cs类中的函数而不引用new.cs的DLL?

1 个答案:

答案 0 :(得分:0)

一些选项

在项目之间共享公共文件

Visual Studio环境并未真正针对此类代码共享进行优化。

如果您尝试将“添加现有项目”与当前项目代码树之外的.cs文件一起使用,它会很乐意添加它,但它会将文件复制到您的根目录。您可以通过手动编辑.csproj文件来绕过它,但我不推荐它。

您可以设置文件夹结构,以便您的两个项目具有共同的文件夹,例如将.csproj文件放在同一个文件夹中,或者使用Unix风格的symbolic link。在我看来,这可能会让人感到非常困惑,人们可能会意外地删除或更改他们不想要的文件(我们曾经在我的工作中做过类似的事情,并且有很多“哦废话!”时刻)。 / p>

无论哪种方式,您的源代码修订历史记录看起来都是一团糟,并且很难确定哪些更改会影响哪个项目。您的QA团队可能会因此而讨厌您,因为评估任何变更集的风险级别会更加困难。

剪切和粘贴

当然,您始终可以将代码从一个项目剪切并粘贴到另一个项目中。这是一种防弹方法,很清楚会发生什么。但是你最终会维护两个版本的代码。

保留单独的项目,但合并为一个.exe

您可以将公共代码保存在单独的DLL项目中,供编码人员使用。在构建项目时,可以使用第三方工具(如Fody)将DLL注入主可执行文件,这样您最终只能使用一个文件。有关详细信息,请参阅this question