首页 文章

将完整的.NET Framework与现有的ASP.NET Core项目一起使用

提问于
浏览
2

我们有一个当前在.NET Core上运行的ASP.NET Core Web应用程序,现在需要引用内部库,这些库是为完整的.NET Framework运行而构建的 .

根据documentation

ASP.NET核心应用程序可以在.NET Core或完整的.NET Framework上运行 .

...更改现有ASP.NET Core项目以在完整的.NET Framework上运行需要哪些步骤?

我似乎无法在文档或Visual Studio工具中找到任何在.NET Core和完整.NET Framework之间切换的内容 .

2 回答

  • 5

    通过删除 frameworks 中的 netcoreapp1.0 部分并将其替换为 net4xy 来更改project.json应该足够了,其中x和y取决于您要定位的.Net Framework的版本,例如: net461 for .Net 4.6.1 .

    例如,之前:

    "frameworks": {
      "netcoreapp1.0": {
        "dependencies": {
          "Microsoft.NETCore.App": {
            "type": "platform",
            "version": "1.0.1"
          }
        },
        "imports": "dnxcore50"
    }
    

    后:

    "frameworks": {
      "net461": {}
    }
    
  • 1

    我猜你在定义这个ASP.NET核心应用程序时必须选择正确的项目类型 . 选择项目类型时,您可以选择是否要在任何地方运行.NET Core,或者在.NET Framework上运行的.NET Core(从对话框左上角的下拉列表中选择版本) .

    这些应该是新项目对话框中的不同选项 .

    这样,在您的引用(project.json)中,您将只看到所选的版本和框架依赖项的.NET Framework(您通常会像任何其他项目类型一样添加.NET Framework引用) .

    在这个主题中有很多事情发生,因为project.json正被Microsoft抛弃,赞成MSBuild xml文件 .

    这里还有一篇关于这个主题的Scott Hanselman的好文章:http://www.hanselman.com/blog/HowToReferenceAnExistingNETFrameworkProjectInAnASPNETCore10WebApp.aspx

    另请注意,如果要运行可在任何位置运行的.NET Core应用程序,则无法引用完整的.NET Framework库(仅限.NET标准版) .

相关问题