2011-11-03 152 views
3

这可能是一个非常基本的问题,但我还没有找到任何有关在Visual Studio中如何使用项目引用的详细信息。Visual Studio 2010:如何引用C#.Net类库项目和第三方依赖关系

我有一个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)

+0

如果你没有参考第三方dll,你会得到编译时错误吗? – woggles

+0

这里的关系是如何完成的?我的意思是,让我们把你的主应用程序称为项目A.现在你有一个项目B,它有第三方程序集的汇编引用吗?那么现在,项目A是否也直接或通过项目B使用这些第三方组件?如果通过项目B,那么只需在项目A中将项目B添加为proj ref。 – Zenwalker

+0

是的,它就像zenwalker的第二个假设:第三方程序集仅通过项目B使用。没有编译错误,但在某些情况下仍然存在运行时问题。 – mstahlberg

回答

6

当使用THRID方组件/ DLL的,我觉得它在BECT一个项目创建一个文件夹称为“依赖”并将它们放置在那里,这样它们就不会在你的来源中迷失或隐藏。

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

你的其他项目只需要引用您的类库项目(注意设置Copy Local属性),点击添加引用后,从项目列表中选择。

哦,我忘了添加您的代码文件,引用任何公众在引用的程序集将需要using声明链接到他们。

+0

谢谢。我认为你最后一条关于添加使用语句的提示对我来说很有用,但我仍然有一些问题。我会接受这个答案,因为我认为这是一般情况下的正确答案。然后,我将针对与IronPython相关的问题添加一个具体问题。 – mstahlberg

+0

我认为引用项目B(来自项目A),而项目C是从项目B引用的,那么只需引用项目b就应该编译项目b和项目c并将其复制到项目a的输出文件夹中。但似乎没有。 – Ted

相关问题