3 回答
TA贡献1820条经验 获得超2个赞
解释
解
在项目Y中添加对程序集B的引用。 将虚拟代码添加到项目X中使用程序集B的文件中。
如果您以后添加了引用项目X的另一个项目,您将不必记住也包括对程序集B的引用(就像您在选项1中所做的那样)。 您可以有明确的注释,说明为什么虚拟代码需要在那里,而不是删除它。因此,如果有人无意中删除了代码(例如,使用一个寻找未使用代码的重构工具),您可以从源代码管理中很容易地看到该代码是必需的,并进行还原。如果使用选项1,而有人使用重构工具来清除未使用的引用,则没有任何注释;您只会看到.csproj文件中删除了引用。
// DO NOT DELETE THIS CODE UNLESS WE NO LONGER REQUIRE ASSEMBLY A!!! private void DummyFunctionToMakeSureReferencesGetCopiedProperly_DO_NOT_DELETE_THIS_CODE() { // Assembly A is used by this file, and that assembly depends on assembly B, // but this project does not have any code that explicitly references assembly B. Therefore, when another project references // this project, this project's assembly and the assembly A get copied to the project's bin directory, but not // assembly B. So in order to get the required assembly B copied over, we add some dummy code here (that never // gets called) that references assembly B; this will flag VS/MSBuild to copy the required assembly B over as well. var dummyType = typeof(B.SomeClass); Console.WriteLine(dummyType.FullName); }
TA贡献1818条经验 获得超8个赞
Content
Always
.
添加回答
举报