也许我对".NET核心库"的含义缺乏了解,但是当我尝试使用Visual Studio 2015在.NET 4.6程序集中添加.NET核心库时,我收到错误:
无法添加对"..."的引用.
我明白了什么问题吗?
这是我在.NET Core程序集的project.json中配置的
"frameworks": {
"net451": { },
"dotnet5.4": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Runtime": "4.0.21-beta-23516",
"System.Threading": "4.0.11-beta-23516"
}
}
Run Code Online (Sandbox Code Playgroud)
Gar*_*and 23
现在可以使用.Net Core RC2完成此操作.方法如下:
project.json配置为包含相关的.net框架.例如,本节引用.Net 4.51,该版本可以由任何与此版本相同或更高的框架引用:例:
"frameworks": {
"net451": { },
"netstandard1.5": {
"dependencies": {
"NETStandard.Library": "1.5.0-rc2-24027"
},
"imports": [
"portable-net45+wp80+win8+wpa81+dnxcore50",
"portable-net451+win8"
]
}
},
Run Code Online (Sandbox Code Playgroud)
将RC2应用程序打包为Nuget包.我还没有看到如何从Visual Studio中执行此操作,但可以从命令行执行以下操作:
dotnet pack -o e:\packages
如果要在每个构建时更新它,可以将以下内容添加到project.json文件中,该文件会自动将包更新到父目录中:
"scripts": {
"postcompile": [
"dotnet pack --no-build --configuration Debug -o ..//..//..//packages"
]}
Run Code Online (Sandbox Code Playgroud)
将Nuget包添加到.net 4.6应用程序中.这可以通过几种方式完成.一种简单的方法是将保存包的位置添加为packaage源引用.
project.json每次构建时增加文件中的版本号,以确保其他应用程序看到更新.
更改您的类库(和任何依赖项)以构建4.6以及.NET Core;
现在,这将为您构建类库的两个版本.
在.NET 4.6项目(App)中,然后添加对调试文件夹中找到的类库DLL的直接引用
您现在可以导入此命名空间,并针对它进行构建.虽然ReSharper(2016.3 EAP 2)似乎感到困惑,并将这些线条标记为红色 - 但这是一个止损,直到.NET发布之后.
如果打开应用程序项目文件(.csproj),您将看到框架添加的引用.
注意:构建代码dnx462似乎不起作用,抱怨.NET框架没有安装,即使该项目有一个4.6.2 WPF应用程序.