Vì vậy, tôi đã có một giải pháp làm việc trên .Net RC1 với Moq, và tôi đã nâng cấp lên RC2 mà tôi thấy rằng Moq.netcore được tạo ra để chạy trên nền tảng mới.Moq.netcore không cho .Net Core RC2
tôi thêm aspnet-contrib để NuGet.config tôi
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="contrib" value="https://www.myget.org/F/aspnet-contrib/api/v3/index.json" />
<add key="NuGet" value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>
Tôi đã thêm moq.netcore đến file project.json tôi.
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0-rc2-*",
"type": "platform"
},
"dotnet-test-xunit": "1.0.0-rc2-173361-36",
"moq.netcore": "4.4.0-beta8",
"xunit": "2.1.0"
},
"testRunner": "xunit",
"frameworks": {
"netcoreapp1.0": {
"imports": [
"dotnet5.6",
"portable-net451+win8"
]
}
}
Về cơ bản tôi theo Cli Testing Abstractions UnitTests và tôi nhận được lỗi sau khi instantiatin một đối tượng Mock:
System.IO.FileNotFoundException :
Could not load file or assembly 'System.Diagnostics.TraceSource, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
Stack Trace:
at Castle.DynamicProxy.Generators.MethodWithInvocationGenerator.BuildProxiedMethodBody(MethodEmitter emitter, ClassEmitter class, ProxyGenerationOptions options, INamingScope namingScope)
at Castle.DynamicProxy.Generators.MethodGenerator.Generate(ClassEmitter class, ProxyGenerationOptions options, INamingScope namingScope)
at Castle.DynamicProxy.Contributors.CompositeTypeContributor.ImplementMethod(MetaMethod method, ClassEmitter class, ProxyGenerationOptions options, OverrideMethodDelegate overrideMethod)
at Castle.DynamicProxy.Contributors.CompositeTypeContributor.Generate(ClassEmitter class, ProxyGenerationOptions options)
at Castle.DynamicProxy.Generators.ClassProxyGenerator.GenerateType(String name, Type[] interfaces, INamingScope namingScope)
at Castle.DynamicProxy.Generators.BaseProxyGenerator.ObtainProxyType(CacheKey cacheKey, Func`3 factory)
at Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(Type classToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options, Object[] constructorArguments, IInterceptor[] interceptors)
at Moq.Proxy.CastleProxyFactory.CreateProxy(Type mockType, ICallInterceptor interceptor, Type[] interfaces, Object[] arguments)
at Moq.Mock`1.<InitializeInstance>b__19_0()
at Moq.Mock`1.OnGetObject()
at Moq.MockDefaultValueProvider.ProvideDefault(MethodInfo member)
at Moq.QueryableMockExtensions.FluentMock[T,TResult](Mock`1 mock, Expression`1 setup)
at lambda_method(Closure)
at Moq.Mock.GetInterceptor(Expression fluentExpression, Mock mock)
at Moq.Mock.<>c__DisplayClass57_0`2.<SetupGet>b__0()
Thêm các thành phần khác vào project.json bắt đầu bằng "Microsoft.Extensions.Logging.TraceSource"? –