C#在在一个解决方案里面有俩个项目,引用时说此项目作为引用将导致循环依赖项,怎么解决呀

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#在在一个解决方案里面有俩个项目,引用时说此项目作为引用将导致循环依赖项,怎么解决呀相关的知识,希望对你有一定的参考价值。

首先互相引用肯定不合理的。
如果确保两个项目互相引用没有死循环等问题,可以使用dll引用,VS中的项目不能互相引用的。
如果你需要项目引用,那就需要使用接口进行分离了。
参考技术A 两个项目不能相互引用。

frmAbout是不是已经引用WindowsFormsApplication1了。追问

但是怎么把创建的这个项目的窗体加入到另一个项目中呢

追答

如果你遇到这问题,说明设计上有不合理的地方。
应该用接口进行分离。

从同一解决方案 C# 中的另一个项目引用 Web.Config 文件

【中文标题】从同一解决方案 C# 中的另一个项目引用 Web.Config 文件【英文标题】:Reference Web.Config file from another project in same solution C# 【发布时间】:2011-07-31 11:48:11 【问题描述】:

我有一个 VC2010 C# 解决方案,其中包含许多项目。

例如,我有一个 web 项目,我有一个类库。

在 web.config 文件中,我在 <appSettings> 部分有一个键,例如

<add key="FileDirectory" value="G:\ftproot\sales" />

我还在 Web.Production.config 文件中添加了一个键,以反映服务器上的文件目录。

所以当我在我的网络项目(它是 MVC)中引用它时 - 我这样做:

var FTPPath = ConfigurationManager.AppSettings["FileDirectory"];

这在我的网络项目中运行良好。但是,我还需要在类库中引用它,这引起了我的问题 - 有没有办法从另一个项目中引用 web.config 文件中的键,例如一个类库,在同一个解决方案中??

感谢所有帮助。 谢谢

【问题讨论】:

【参考方案1】:

是的,您可以使用完全相同的代码。 .Net 将在启动应用程序域的应用程序的配置文件中查找配置密钥。此类应用程序使用的类库将有权访问其配置文件。

【讨论】:

嗨,Gerrie,感谢您解决这个问题。一开始它没有工作,但我添加了 System.Configuration 的参考,现在一切正常。时间到了我会标记为正确的! 谢谢,非常感谢您的回复。【参考方案2】:

类库没有自己的配置。他们使用正在使用的可执行文件的配置。

这意味着您应该能够使用相同的代码,并且它将从配置中读取设置(假设它在那里)。

但这并不总是很方便(例如,如果您为 MMC 管理单元编写基于 .net 的插件,因为这意味着您必须修改系统文件夹中的 mmc.exe.config。)

您最好有一种方法将此所需的配置设置传递到您的库代码中。然后在您控制配置的应用程序中,您可以从那里读取并传递它,而在您不能使用其他方法的应用程序中,例如从注册表读取或从手动读取的配置文件中读取。或者两全其美,让你可以将它传入,如果没有这样做,它会尝试从默认配置中读取它。

【讨论】:

以上是关于C#在在一个解决方案里面有俩个项目,引用时说此项目作为引用将导致循环依赖项,怎么解决呀的主要内容,如果未能解决你的问题,请参考以下文章

vs2010调试c++总是说此项目已经过期怎么办

C#控制台程序中怎样引用另一个项目中的类或结构

C# 使用VS创建Windows窗体应用程序

vue 数组

我在VS2017里面用C#在.net framework上编写了一个dll,我想编译,怎么解决?

实现div里的内容垂直居中