Mid*_*aze 2 c# project.json asp.net-core
我一直在试图创建一个完全是.NET Core的新项目,这个项目可以在不同的环境中运行,但我需要添加许多以前在严格的.NET Framework中工作的项目作为参考(4.5 ).
到目前为止,我能够做的是将.NET 461框架添加到项目json中,
"frameworks": {
"netcoreapp1.0": {
"imports": [
"dotnet5.6",
"portable-net45+win8"
],
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
"type": "platform"
},
"Niloosoft.Hunter.ServicesDataAPI": {
"target": "project"
}
}
},
"net461": { }
}
Run Code Online (Sandbox Code Playgroud)
它成功恢复了包,我甚至设法添加了.NET框架引用,但我似乎无法正确使用它们而且我得到了这个错误.
所以,我的问题是,目前是否可以使用我的.NET Framework参考,而无需将预期的框架(因为我需要互操作性)与以下内容交换:
> #if NET45
//specific code for .NET 4.5
> #
Run Code Online (Sandbox Code Playgroud)
需要注意的是,.NETCoreApp不支持我的项目,因此,我确实需要.NET Framework,我只是需要知道我正在尝试做的是否可行.
不,您不能仅在.NET Core中运行以.NET 4.5为目标的库.您只能使用该目标库netstandard1.x
或netcoreapp1.x
(以及旧的图书馆,其目标dnxcore5.0
,dotnet5.x
(这是赞成不赞成netstandard1.x
,并有利于DOTNET CLI的DNX被抛弃).
但是,您可以使用面向.NET 4.5 和 Windows Phone 8.x或Windows 8.x的PCL ,因为它们的API表面要小得多,并且只有适用于Windows 8.x/Windows Phone 8.x的API.在.NET 4.5+上(这意味着:它使用System.Runtime
,.NET Core所基于的).
如果您的库不是使用.NET 4.5 + Win8或更高版本的PCL,那么您将不得不寻找替换库并使用#if
指令或net451/net461
仅针对目标并运行单声道,然后运行.NET Core.
归档时间: |
|
查看次数: |
709 次 |
最近记录: |