我正在使用 VS 更新 3 (14.0.25425.01)。这是我所做的:
- 创建 ASP.Net Core Web 应用程序 (.Net Core)
- 创建类库 .Net 4.6.2
- 在框架中添加
net462
,netcoreapp1.0
,在project.json中导入 - 右键单击 ASP.Net Core 应用,单击“添加引用”,选择“项目”,选择您在第 2 步中创建的类库。
我在恢复时没有遇到任何错误,引用已添加到 ASP.Net Core 应用程序。但是,我无法访问它。我无法添加使用导入声明或访问对象。我经历了很多事情,但似乎没有任何效果,而且帖子的版本非常零散。
这是 ASP.Net Core 应用程序中的 Program.cs。
更新 我按照内特的建议做了。我以为我已经试过了……但果然我现在可以访问我的 4.6.2 库了。但是,我现在遇到编译错误。
最佳答案
这在 Visual Studio 2015 Update 3 中确实有效,但您的 project.json
不太正确。
与其将 net462
添加到 imports
部分,不如将其添加到 frameworks
部分:
"frameworks": {
"net461": { },
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
}
}
}
请注意,Microsoft.NETCore.App
依赖项也需要移至 netcoreapp1.0
部分。这是因为只有在编译为 .NET Core 应用程序时才需要此依赖项。
对您的 .NET 4.6.2 库的引用只是您的 dependencies
部分的一部分:
"dependencies": {
(...)
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
"MyLibrary": {
"target": "project"
}
}
通过以这种方式构建它,我能够毫无问题地引用和使用我的 .NET 4.6.2 库中的类。
作为引用,这是我使用的整个工作 project.json
:
{
"dependencies": {
"Microsoft.AspNetCore.Mvc": "1.0.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Configuration.CommandLine": "1.0.0",
"Microsoft.Extensions.Logging": "1.0.0",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.Extensions.Logging.Debug": "1.0.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
"MyLibrary": {
"target": "project"
}
},
"frameworks": {
"net461": { },
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
}
}
},
"version": "1.0.0-*"
}
关于c# - 从 .NET Core 应用程序引用 .NET 4.6.2 类库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38836323/