Visual Studio - 如何要求引用dll

时间:2014-06-12 07:57:05

标签: c# .net dll

我有一个带有一些dll引用的项目,我想让这些dll成为必需的引用。

示例:我的项目名为Main.dll,并且引用了Dep1.dll和Dep2.dll。 如果有人引用了Main.dll,我希望项目编译失败,除非他引用了Dep1.dll和Dep1.dll。 (就像那些错误“装配所需的参考......”)

任何人都知道我该怎么做?

2 个答案:

答案 0 :(得分:0)

这归结为包管理。如果你只是部署了dll,那么你现在所能做的只是说“你还需要添加{whatever} .dll”的引用。但是,如果您使用NuGet之类的工具(您可以拥有私有/本地NuGet存储库等;其他包管理工具可用),您可以告诉包管理工具有关依赖关系,它会自动添加它们

答案 1 :(得分:0)

答案是你不能,除非你以编程方式使用与Dep1.dll中的类相关的方法/属性/构造函数/等。

例如。

Dep1.dll   
   Dep1Class.cs

Main.dll
   References
      Dep1
   MainClass.cs

OtherComponent.dll
   References
      Main
   OtherComponentClass.cs

public class MainClass
{
   public Dep1Class Dep1Property { get; set; }
}

public class OtherComponentClass
{
   public OtherComponentClass
   {          
      var x = new MainClass();
      //// compile error, The type 'Dep1.Dep1Class' is defined in an assembly that is not referenced. You must add a reference to assembly 'Dep1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
      //x.Dep1Property = null;
   }
}