【问题标题】:Visual Studio 2010: How refer to a C# .Net class library project with third part dependenciesVisual Studio 2010:如何引用具有第三方依赖项的 C# .Net 类库项目
【发布时间】:2011-11-03 08:24:58
【问题描述】:

这可能是一个非常基本的问题,但我还没有找到有关项目引用在 Visual Studio 中如何工作的任何详细信息。

我有一个 Visual Studio 2010 C# 解决方案,其中包含一个 MainApp 项目和一个 C# 类库项目,其中包含第三方程序集。从 MainApp 项目中引用类库项目时,我应该只添加项目引用还是需要在类库项目中添加对第三方程序集的引用?

在某些情况下,如果我的 MainApp 项目中只有类库项目引用,则似乎第三方程序集未正确加载,尽管在构建完整时所有 DLL 文件(包括第三方 DLL)都显示在输出文件夹中解决方案。

编辑:我发布了一个更具体的问题,因为一般答案对我的情况没有帮助:How to refer self-contained C# class library project with IronPython inside (Visual Studio 2010)

【问题讨论】:

  • 如果您不单独引用第 3 方 dll,您不会收到编译时错误吗?
  • 这里的关系是怎么做的?我的意思是,让我们将您的主应用程序称为项目 A。现在您有一个项目 B,它具有与第 3 方程序集的程序集引用,对吗?那么现在,项目 A 是直接还是通过项目 B 使用这些 3rd 方组件?如果通过项目 B,则只需在项目 A 中添加项目 B 作为项目参考。
  • 是的,这就像 zenwalker 的第二个假设:第 3 方程序集仅通过项目 B 使用。没有编译错误,但在某些情况下仍然存在运行时问题。

标签: c# .net visual-studio-2010 dll


【解决方案1】:

当使用第三方程序集/dll 时,我发现最好在一个名为“Dependencies”的项目中创建一个文件夹并将它们放置在其中,这样它们就不会丢失或隐藏在您的源代码中。

您的类库项目应该引用第三方程序集。您需要浏览这些(单击添加引用后),然后设置Copy Local 属性True,这样它们将被复制到放置任何已编译代码的目录中。

你的其他项目只需要引用你的类库项目(记得设置Copy Local属性),点击add reference后从Projects列表中选择它。

哦,我忘了添加您的代码文件,如果引用的程序集上引用任何公众,则需要using 语句才能链接到它们。

【讨论】:

  • 谢谢。我认为你关于添加 using 语句的最后一个提示会对我有用,但我仍然有一些问题。我会接受这个答案,因为我认为这是一般情况下的正确答案。然后我会为我的问题添加一个与 IronPython 相关的特定问题。
  • 我认为引用项目B(来自项目A),并且项目C是从项目B引用的,那么只需引用项目b就应该编译并将项目b和项目c复制到项目a的输出文件夹中.但它似乎没有。
猜你喜欢
  • 2011-11-28
  • 1970-01-01
  • 1970-01-01
  • 2022-09-28
  • 1970-01-01
  • 1970-01-01
  • 2017-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多