在我的解决方案的Update-Package运行之后,我的ASP.Net核心项目在下面列出的模式下出现了警告。
我无法确定此问题的根本原因。
模式:
依赖冲突。 [项目名称] [项目版本]预期[依赖名称]> = [注册版本]但收到[较低版本]
指定的依赖关系是[依赖名称]> = [注册版本]但最终以[依赖名称] [较低版本]
结束
示例:我对依赖Microsoft.Extensions.Logging v1.1.1:
有此警告依赖冲突。统计1.0.0预期Microsoft.Extensions.Logging> = 1.1.1但收到1.1.0
指定的依赖项是Microsoft.Extensions.Logging> = 1.1.1但最终得到Microsoft.Extensions.Logging 1.1.0
值得注意的是,在运行Update-Packages cmdlet之前,project.json文件确实引用了Microsoft.Extensions.Logging的v1.1.0。
更新后的project.json文件:
{
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true,
"xmlDoc": true,
"nowarn": [ "CS1591" ]
},
"dependencies": {
"BusinessEntities": "1.0.0-*",
"IdentityServer4.AccessTokenValidation": "1.1.0",
"Ioc": "1.0.0-*",
"Microsoft.AspNet.WebApi.Client": "5.2.3",
"Microsoft.AspNetCore.Diagnostics": "1.1.1",
"Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.1.1",
"Microsoft.AspNetCore.Mvc": "1.1.2",
"Microsoft.AspNetCore.Routing": "1.1.1",
"Microsoft.AspNetCore.Server.IISIntegration": "1.1.1",
"Microsoft.AspNetCore.Server.Kestrel": "1.1.1",
"Microsoft.AspNetCore.Server.Kestrel.Https": "1.1.1",
"Microsoft.Extensions.Configuration.CommandLine": "1.1.1",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.1",
"Microsoft.Extensions.Configuration.FileExtensions": "1.1.1",
"Microsoft.Extensions.Configuration.Json": "1.1.1",
"Microsoft.Extensions.Logging": "1.1.1",
"Microsoft.Extensions.Logging.Console": "1.1.1",
"Microsoft.Extensions.Logging.Debug": "1.1.1",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.1",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.1.0",
"Swashbuckle.AspNetCore": "1.0.0-rc1",
"Swashbuckle.AspNetCore.Swagger": "1.0.0-rc1",
"Swashbuckle.AspNetCore.SwaggerGen": "1.0.0-rc1",
"Swashbuckle.AspNetCore.SwaggerUi": "1.0.0-rc1",
"System.Xml.XmlDocument": "4.3.0",
"Unity": "4.0.1",
"WebApiCommon": "1.0.0-*"
},
"frameworks": {
"netcoreapp1.1": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.1.1"
}
},
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
}
},
"publishOptions": {
"include": [
"wwwroot",
"**/*.cshtml",
"appsettings.json",
"web.config"
]
},
"runtimeOptions": {
"configProperties": {
"System.GC.Server": true
}
},
"scripts": {
"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
},
"tools": {
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final",
"Microsoft.DotNet.Watcher.Tools": "1.1.0-preview4-final"
}
}
答案 0 :(得分:1)
您的project.json看起来很好,除非您的BusinessEntities
,Ioc
或WebApiCommon
软件包引用了您的软件包的旧版本收到警告。由于我无法看到这些包的依赖项列表,我无法确定。
如果这些包不是警告的来源,那么我的猜测是你关于重启Visual Studio的答案就行了。对于我来说,Visual Studio与当前的软件包错误或警告集失去同步是很常见的。
要完全排除Visual Studio,请在项目文件夹内的命令行上执行dotnet restore
和dotnet build
。您可以将您在此处看到的消息和错误视为权威来源。
答案 1 :(得分:0)
好吧,也许只是我。
执行Restore Packages命令导致我的解决方案中某些项目的依赖项冲突警告消失。
对于Restore Packages命令无法解决问题的项目,关闭Visual Studio并重新打开项目会导致警告消失。
-S