草庐IT

库依赖

全部标签

c# - 无法加载文件或程序集 'Newtonsoft.Json' 或其依赖项之一

首先,它不仅仅是重复的。以下问题的答案都不适合我。http://goo.gl/tS40cnhttp://goo.gl/pH6v2T我刚刚使用Nuget包管理器更新了我的所有包,但我开始收到此错误。无法加载文件或程序集“Newtonsoft.Json,Version=6.0.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6aeed”或其依赖项之一。找到的程序集的list定义与程序集引用不匹配。(HRESULT异常:0x80131040)我的包配置有:Web.config包含这段代码:Newtonsoft.Json引用中的属性根据类似问题的答案

c# - 基类中的构造函数依赖注入(inject)

我正在使用EntityFramework构建一个存储库基类,其中所有实体存储库都将继承。我想使用Ninject使用依赖注入(inject)将DatabaseContext注入(inject)基类。我认为构造函数注入(inject)是正确的方法,但是在派生类中使用构造函数注入(inject)来执行此操作我将必须将参数传递给基类中的构造函数,但我不希望这样做。因此,Setter注入(inject)更合适?这是我的代码:publicabstractclassBaseRepository:IDisposablewhereTEntity:class{privatereadonlyDatabase

c# - 使用 Mocks 验证依赖调用时的 TDD Arrange Act Assert 模式

我正在使用Moq来测试一些void方法的行为。使用MockBehaviour.Strict必须在Arrange步骤期间指定对模拟的每次调用。这导致许多测试没有任何Assert(或Verify)步骤。通过条件只是测试运行没有抛出异常。我错过了什么吗?Arrange,Act,Assert模式在使用严格模拟时是否不合适?是否有更语义化的方式来安排这些测试?一个简单的虚构例子......[TestClass]publicvoidDeleteUser_ShouldCallDeleteOnRepository(){//ArrangevaruserRepository=newMock(MockBeh

c# - 在我的构建输出中包含 Nuget 依赖项?

我正在构建一个模块化的.NET核心应用程序,它可以使用MEF在运行时加载扩展。我有2个项目,一个是我希望能够在运行时加载的库,然后我有一个将执行加载的主应用程序。我的库项目有一些Nuget依赖项。为了在运行时加载我的库,我需要这些Nuget依赖项在运行时在库旁边可用,但使用VS2017构建不包括这些NugetDLL作为输出的一部分。如何在构建库时包含NugetDLL?编辑:我试过dotnetpublish和dotnetpack,但这两个都让我成为一个nupkg文件,只包含我的DLL而不是我需要的nugetDLL。另外,我不能很容易地在运行时加载nupkg文件,这就是为什么我想自己获取生

c# - 我应该避免使用依赖注入(inject)和 IoC 吗?

在我的中型项目中,我为存储库、服务等使用了静态类,它实际上工作得很好,即使大多数程序员的期望相反。我的代码库非常紧凑、干净且易于理解。现在我尝试重写所有内容并使用IoC(控制反转),但我非常失望。我必须在每个类、Controller等中手动初始化许多依赖项,为接口(interface)添加更多项目等等。我真的没有看到我的项目有任何好处,而且似乎它造成的问题多于解决的问题。我在IoC/DI中发现了以下缺点:更大的代码量馄饨代码而不是意大利面条代码性能较慢,即使我要调用的方法只有一个依赖项,也需要在构造函数中初始化所有依赖项不使用IDE时更难理解一些错误被推送到运行时添加额外的依赖(DI框

C#:如何包含依赖的 DLL?

我正在使用在2个DLL中定义的第3方API。我已将这些DLL包含在我的项目中并设置对它们的引用。到目前为止,一切都很好。但是,这些DLL至少有一个在运行时无法找到的依赖DLL。我将丢失的DLL复制到项目中并设置了“复制到输出”标志,但没有成功。我应该在这里做什么来告诉项目它应该在哪里找到依赖的DLL?澄清我尝试添加对丢失的DLL的引用,但因为它未被识别为.Net组件。无奈之下,我直接将其添加到输出文件夹中,但没有成功。最后,我在PC上安装了API,一切正常。安装设置PATH变量,DLL位于安装文件夹中。但是如何告诉项目查看其内部文件夹之一? 最佳答案

c# - 从类中分解所有依赖项的最简单、最快的方法

在使用遗留代码并尝试创建测试时,我经常从类或方法中分离出依赖关系,这样我就可以使用模拟来为这些依赖关系编写单元测试。依赖性最常见的形式是调用静态类和使用构造函数中的new关键字或该类中的其他位置创建的对象。在大多数情况下,静态调用是通过包装静态依赖项来处理的,或者如果它是StaticClass.Current.MethodCall()形式的单例模式(或类似模式),则通过其接口(interface)传递该依赖项来代替构造函数。在大多数情况下,在构造函数中使用new关键字只是通过在构造函数中传递该接口(interface)来代替。在大多数情况下,在类的其他部分使用new关键字,要么通过与上

c# - .NET Core/EF 6 - 依赖注入(inject)范围

我目前正在使用EF6设置.NETCore应用程序,但在理解如何正确使用各种依赖项注册方法时遇到了一些困难。据我了解:Transient:对象在需要时创建(即每次请求时创建一个新实例)Singleton:在应用程序启动时创建的单个实例,可用于所有后续请求Scoped:在请求期间可用特别是在我的情况下,我设置了一对DbContext(基于CQRS模式)来处理我注册为Scoped的数据库查询/命令:services.AddScoped((_)=>newTestCommandContext(Configuration["Data:TestConnection:ConnectionString"

c# - 使用 Ninject 的 ASP.NET WebAPI ActionFilters 的依赖注入(inject)不起作用

我正在尝试使用Ninject在ASP.NETWebAPI中的ActionFilters上设置DI。我按照这里的说明操作:https://github.com/ninject/Ninject.Web.WebApi/wiki/Dependency-injection-for-filters我这样创建我的ActionFilter:publicclassApiAuthorizeFilter:AbstractActionFilter{privatereadonlyIValidateApiTokenService_validateApiTokenService;publicApiAuthorize

c# - MEF 依赖关系和版本控制

我有一个使用MEF加载部件的系统。这些部分中的每一个都依赖于一个核心库。当我构建项目时,我将版本号添加到.dll文件中,如下所示:part1-1.0.0.0.dllpart2-1.0.0.0.dll此外,还有一个执行MEF组合的应用程序。它还使用核心库。我发现我可以只部署“部分”dll,并且组合工作正常,因为应用程序已经加载了部分所依赖的核心库。所以我的文件系统看起来像这样:/parts/part1-v1.dll/parts/part2-v1.dllcomposer-v1.exe核心v1.exe我遇到的问题是如何处理核心和部分的版本控制。假设我对核心和其中一个部分进行了更新。然后,我部