草庐IT

库依赖

全部标签

c# - 依赖注入(inject)和其他构造函数参数 - 不好的做法?

目前我正在尝试使用依赖注入(inject)容器,这次是使用Unity。给定以下界面:publicinterfaceIPodcastCommService{voidDownload();voidUpload();}和以下实现:publicclassPodcastService{privateIPodcastCommServicecommservice;privateStringurl;publicPodcastService(Stringurl,IPodcastCommServicecommservice){this.commservice=commservice;this.url=ur

c# - 依赖项目之间的依赖关系不流动,导致 System.IO.FileNotFoundException

假设我的解决方案有2个项目:第一个称为“MainProject”(一个.NETStandard2.0项目)。第二个称为“MainProjectTests”(一个NUnit测试项目),每个类的一些单元测试都放入“MainProject”。第一个项目(MainProject)有一个名为“dependencyX”的NuGet依赖项。显然,项目“MainProjectTests”引用了“MainProject”。因此,当测试运行器运行“MainProjectTests”测试时,使用“dependencyX”从“MainProject”调用方法时,我得到了一个System.IO.FileNotF

c# - 确定对不正确的 .NET Framework 版本的间接依赖的来源

我想知道如何确定此构建错误的来源;Warning4Theprimaryreference"MyNamespace.MyProject"couldnotberesolvedbecauseithasanindirectdependencyonthe.NETFrameworkassembly"System.Xml,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089"whichhasahigherversion"4.0.0.0"thantheversion"2.0.0.0"inthecurrenttargetframe

c# - 如何找到依赖于特定依赖项的特定版本?

我在运行我的应用程序时遇到此错误(不是在编译时):Couldnotloadfileorassembly'Castle.Windsor,Version=2.1.0.0,Culture=neutral,PublicKeyToken=407dd0808d44fbdc'oroneofitsdependencies.Thelocatedassembly'smanifestdefinitiondoesnotmatchtheassemblyreference.(ExceptionfromHRESULT:0x80131040)我的解决方案有很多项目,尽可能使用项目引用,但其中一些项目具有对外部依赖项的

c# - 重构静态类以与依赖注入(inject)一起使用

我们需要在具有静态方法的代码中使用非托管库。我想在我的代码中将库操作作为依赖项引入。除了具有静态方法之外,该库还有一个初始化方法和一个设置方法,它们都是全局的。所以我不能只将它包装在一个实例类中,因为如果一个实例更改设置,所有其他实例都会受到影响,如果一个实例被初始化,所有其他实例将被重新初始化。我考虑过将其作为单例类引入。这样它将在一个实例类中,但只有一个实例,因此我不必担心更改设置或初始化。您如何看待这种方法?我对依赖注入(inject)模式还很陌生,我不确定单例模式是否是一个好的解决方案?对于类似的案例,您的解决方案是什么?编辑:初始化也需要一个参数,所以我不能只是锁定方法调用并

c# - 解决 Module 类中的 AutoFac 依赖关系

我是AutoFac的新手,目前正在我的应用程序配置中使用自定义模块来启动一些核心F#系统。我使用的代码是varbuilder=newContainerBuilder();builder.RegisterType().As();builder.RegisterModule(newConfigurationSettingsReader("autofac"));builder.Build();在我的应用程序配置中,我有适当的逻辑来启动相关系统。我想访问我的模块中的DefaultLogger。Module基类的元数据有以下可用选项:protectedvirtualvoidAttachToCom

c# - 模型类(实体)中的依赖注入(inject)

我正在使用EntityFrameworkCode-First构建ASP.NETCoreMVC应用程序。我实现了一个简单的存储库模式,为我创建的所有模型类提供基本的CRUD操作。我选择遵循docs中提供的所有建议。DI就是其中之一。在~~.NET5~~(6年后更新:.net5是.netcore1.0的alpha名称)依赖注入(inject)对于我们不直接使用的任何类都非常有效实例化(例如:Controller、数据存储库……)。我们只需通过构造函数注入(inject)它们,并在应用程序的Startup类中注册映射://SomerepositoryclasspublicclassMyRep

c# - log4net依赖问题

我有一个log4net问题困扰了我一段时间,我决定解决它。我有一个引用log4net的类库。如果我在另一个项目中引用这个类库,我必须在这个项目中引用log4net否则我会得到一个构建错误Unknownbuilderror,'Cannotresolvedependencytoassembly'log4net,Version=1.2.10.0,Culture=neutral,PublicKeyToken=1b44e1d426115821'becauseithasnotbeenpreloaded.WhenusingtheReflectionOnlyAPIs,dependentassembli

c# - 我如何对我的 Controller 进行单元测试以确保 Windsor 在使用 PerWebRequestLifestyle 时可以解决依赖关系

我的应用程序中有以下单元测试:[TestMethod]publicvoidWindsor_Can_Resolve_HomeController_Dependencies(){//SetupWindsorContainercontainer=newWindsorContainer();container.Install(FromAssembly.Containing());//Actcontainer.Kernel.Resolve(typeof(HomeController));}这样做的目的是确保我没有任何在访问该Controller上的操作之前不会意识到的windsor配置问题。问题

c# - 当基类中只需要依赖时,在基类中使用属​​性注入(inject)是否合适?

例子:publicabstractclassBaseControler:Controller{publicIUnitOfWorkUnitOfWork{get;set;}}publicclassHomeController:BaseControler{readonlyIUserRepository_userRepository;//:-)publicHomeController(IUserRepositoryuserRepository){_userRepository=userRepository;}}我们都知道,当需要依赖时,我们必须使用构造函数注入(inject)。如果它是一个可选