所以我想在我的项目中添加对System.Data.sqlClient程序集的依赖.
目前,通过运行dotnet新CLI工具创建的项目文件如下所示:
{ "version": "1.0.0-*","buildOptions": { "emitEntryPoint": true },"dependencies": { "Microsoft.NETCore.App": { "type": "platform","version": "1.0.0-rc2-3002702" } },"frameworks": { "netcoreapp1.0": { "imports": "dnxcore50" } } }
使用this answer进行类似的查询,我能够添加对System.Data.Common的引用来更改
"frameworks": { "netcoreapp1.0": { "imports": "dnxcore50" } }
片段到
"frameworks": { "netcoreapp1.0": { "imports": "dnxcore50","dependencies": { "System.Data.Common": "*" } } }
使得dotnet恢复使用NuGet下载一堆东西.
然后我尝试将该片段更改为读取
"frameworks": { "netcoreapp1.0": { "imports": "dnxcore50","dependencies": { "System.Data.sqlClient": "*" } } }
但NuGet说的是
Unable to resolve ‘System.Data.sqlClient’ for ‘.NETCoreApp,Version=v1.0’.
如果我将版本字符串更改为“4.1.0-rc3- *”,则错误消息会更具体:
Unable to resolve ‘System.Data.sqlClient (>= 4.1.0-rc3)’ for ‘.NETCoreApp,Version=v1.0’.
令我困惑的是,the NuGet package gallery dedicated to .NET Core明确地将System.Data.sqlClient列为可用.
那么我该怎样做才能将System.Data.sqlClient程序集的引用添加到我的项目中并让NuGet下载呢?
另外,我目前正在普通控制台中使用dotnet CLI工具.有没有办法管理.NET Core项目的项目依赖项而无需安装IDE?
解决方法
这是为什么? System.Data.sqlClient存在于http://nuget.org库中.不指定版本(“”)不允许在项目边界之外(如nuget Feed包)并且仅指定星号“*”(您不应该这样做,它允许重置更改)恢复最高可用版本.由于没有稳定,明星将找不到任何东西(背后的破折号有一些魔力).该库的RC2版本是上面提到的4.1.0-rc2-24027,当您询问4.1.0-rc2- *时,它将占用RC2构建中的最高版本(但只有一个).相比之下,System.Data.Common在nuget.org上有一个针对通用Windows平台的公开发行版,因此找到了它.
RC3是下一个版本,仅适用于.NET Core和ASP.NET Core团队的开发人员提要,而不是公共nuget提要.你不应该玩它们.