将项目从 ASP.NET 5 RC1 迁移到 ASP.NET Core 1.0 的依赖性问题
Dependency issues migrating project from ASP.NET 5 RC1 to ASP.NET Core 1.0
我很难将我的 asp.net(核心)应用程序从 dnx46 转换为 .netcoreapp1.0 因为两个特定依赖项( Microsoft.Azure.ServiceBus 和 System.IO.Ports.SerialPort )
乐观地说,我打赌这些功能最终有一天会登陆 .net 核心.. 但与此同时,我发现将我的应用程序从绰号 dnx46 到 .netstandard1.3 允许我解决 ServiceBus 依赖关系。
解决 System.IO.Ports.SerialPort 然而仍然是一个问题,我不明白如何使它工作。我希望在 .netstandard1.3 绰号中导入 net462 框架,将允许找到 System.IO.Ports.SerialPort 对象,但它没有。
我错过了什么?
供参考,这是我的 project.json :
{
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0-rc2-3002702",
"type": "platform"
},
"Microsoft.NETCore.Platforms": "1.0.1-*",
"Microsoft.EntityFrameworkCore": "1.0.0-rc2-final",
"Microsoft.EntityFrameworkCore.Sqlite": "1.0.0-rc2-final",
[...more stuff...]
},
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
// To be restored when they'll become available on .net core
// "Microsoft.WindowsAzure.ConfigurationManager": "3.2.1",
// "WindowsAzure.ServiceBus": "3.2.1",
}
},
"netstandard1.3": {
"buildOptions": {
"define": [ "INCLUDE_WINDOWSAZURE_FEATURE" ]
},
// Imports of net462 fixes loading of
// - NewtonSoft.Json
// - System.Runtime.Loader for "Microsoft.NETCore.App"
"imports": [
"net462"
],
"dependencies": {
"Microsoft.NETCore.Portable.Compatibility": "1.0.1-rc2-24027"
"Microsoft.WindowsAzure.ConfigurationManager": "3.2.1",
"WindowsAzure.ServiceBus": "3.2.1",
}
}
}
}
Resolving System.IO.Ports.SerialPort however is still an issue and I don't understand how to make this work. I was hoping that importing net462 framework in .netstandard1.3 moniker, would allow to find the System.IO.Ports.SerialPort object but it does not.
当以 .NET Core 或 .NET Standard 为目标时,您不能引用 System.IO.Ports.SerialPort
,因为此契约仅存在于完整的 .NET 桌面框架中。
这个库可能最终 ported 但与此同时,您将不得不使用 .NET Desktop(例如 net462
)而不是 .NET Core。
删除 netcoreapp1.0
和 netstandard1.3
并添加 net462
应该可以。
如果您计划部署到 windows 盒子并以 net452
为目标,那么只需依赖 net452
。我整理了一个migration guide来分享我的升级经验,也许对你有帮助?我最初有这样的误解,认为我会依赖 netstandard1.*
然后 "import": "net4*"
,David Fowler 嘲笑我并说了一些 "dude that's do wrong!" 的东西。 :P
您应该将 project.json frameworks
更改为如下所示:
"frameworks": {
"net462": { }
}
我很难将我的 asp.net(核心)应用程序从 dnx46 转换为 .netcoreapp1.0 因为两个特定依赖项( Microsoft.Azure.ServiceBus 和 System.IO.Ports.SerialPort )
乐观地说,我打赌这些功能最终有一天会登陆 .net 核心.. 但与此同时,我发现将我的应用程序从绰号 dnx46 到 .netstandard1.3 允许我解决 ServiceBus 依赖关系。
解决 System.IO.Ports.SerialPort 然而仍然是一个问题,我不明白如何使它工作。我希望在 .netstandard1.3 绰号中导入 net462 框架,将允许找到 System.IO.Ports.SerialPort 对象,但它没有。
我错过了什么?
供参考,这是我的 project.json :
{
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0-rc2-3002702",
"type": "platform"
},
"Microsoft.NETCore.Platforms": "1.0.1-*",
"Microsoft.EntityFrameworkCore": "1.0.0-rc2-final",
"Microsoft.EntityFrameworkCore.Sqlite": "1.0.0-rc2-final",
[...more stuff...]
},
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
// To be restored when they'll become available on .net core
// "Microsoft.WindowsAzure.ConfigurationManager": "3.2.1",
// "WindowsAzure.ServiceBus": "3.2.1",
}
},
"netstandard1.3": {
"buildOptions": {
"define": [ "INCLUDE_WINDOWSAZURE_FEATURE" ]
},
// Imports of net462 fixes loading of
// - NewtonSoft.Json
// - System.Runtime.Loader for "Microsoft.NETCore.App"
"imports": [
"net462"
],
"dependencies": {
"Microsoft.NETCore.Portable.Compatibility": "1.0.1-rc2-24027"
"Microsoft.WindowsAzure.ConfigurationManager": "3.2.1",
"WindowsAzure.ServiceBus": "3.2.1",
}
}
}
}
Resolving System.IO.Ports.SerialPort however is still an issue and I don't understand how to make this work. I was hoping that importing net462 framework in .netstandard1.3 moniker, would allow to find the System.IO.Ports.SerialPort object but it does not.
当以 .NET Core 或 .NET Standard 为目标时,您不能引用 System.IO.Ports.SerialPort
,因为此契约仅存在于完整的 .NET 桌面框架中。
这个库可能最终 ported 但与此同时,您将不得不使用 .NET Desktop(例如 net462
)而不是 .NET Core。
删除 netcoreapp1.0
和 netstandard1.3
并添加 net462
应该可以。
如果您计划部署到 windows 盒子并以 net452
为目标,那么只需依赖 net452
。我整理了一个migration guide来分享我的升级经验,也许对你有帮助?我最初有这样的误解,认为我会依赖 netstandard1.*
然后 "import": "net4*"
,David Fowler 嘲笑我并说了一些 "dude that's do wrong!" 的东西。 :P
您应该将 project.json frameworks
更改为如下所示:
"frameworks": {
"net462": { }
}