C# ASP.NET核心IIS集成工具和.NET框架

C# ASP.NET核心IIS集成工具和.NET框架,c#,.net,dll,asp.net-core,.net-core,C#,.net,Dll,Asp.net Core,.net Core,在ASP.NET Core 1.0中,我使用了: “Microsoft.AspNetCore.Server.IISIntegration.Tools”: “1.0.0-预览2-最终版” 要运行dotnet发布命令,但在ASP.NET Core 1.1中,我开始出现以下错误: 包Microsoft.AspNetCore.Server.IISIntegration.Tools 1.1.0-preview4-final与net462不兼容(.NETFramework,版本=v4.6.2)。包裹 Mic

在ASP.NET Core 1.0中,我使用了:

“Microsoft.AspNetCore.Server.IISIntegration.Tools”: “1.0.0-预览2-最终版”

要运行dotnet发布命令,但在ASP.NET Core 1.1中,我开始出现以下错误:

包Microsoft.AspNetCore.Server.IISIntegration.Tools 1.1.0-preview4-final与net462不兼容(.NETFramework,版本=v4.6.2)。包裹 Microsoft.AspNetCore.Server.IISIntegration.Tools 1.1.0-preview4-final 支持:netcoreapp1.0(.NETCoreApp,版本=v1.0)

如何将“dotnet发布iis”与ASP.NET核心和常规.NET框架一起使用

project.json:

{
  "dependencies": {
    "Dapper": "1.50.2",
    "log4net": "2.0.5",
    "Microsoft.AspNetCore.Authorization": "1.1.0",
    "Microsoft.AspNetCore.Diagnostics": "1.1.0",
    "Microsoft.AspNetCore.Routing": "1.1.0",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final",
    "Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
    "Microsoft.AspNetCore.StaticFiles": "1.1.0",
    "Microsoft.Extensions.Caching.Abstractions": "1.1.0",
    "Microsoft.Extensions.Caching.Memory": "1.1.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.1.0",
    "Microsoft.Extensions.Configuration.Json": "1.1.0",
    "Microsoft.Extensions.Logging.Console": "1.1.0",
    "Microsoft.Extensions.Logging.Debug": "1.1.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0"
  },
  "tools": {
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final"
  },
  "frameworks": {
    "net462": {}
  },
  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },
  "publishOptions": {
    "include": [
      "wwwroot",
      "web.config",
      "appsettings.json",
      "log4net.xml",
    ]
  },
  "scripts": {
    "prepublish": [ ],
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  },
  "configurations": {
    "Debug": {
      "buildOptions": {
        "define": [
          "DEBUG",
          "TRACE"
        ]
      }
    },
    "Integration": {
      "buildOptions": {
        "define": [
          "DEBUG",
          "TRACE"
        ]
      }
    },
    "Production": {
      "buildOptions": {
        "define": [ "RELEASE", "TRACE" ],
        "optimize": true
      }
    }
  }
}
1) 将所有软件包更新为1.1.0版(以及相应的工具预览)

2) 工具包应该安装在
project.json
Tools
部分,而不是
dependencies

因此,请确保您已经在
project.json
的工具部分下添加了
IISIntegration.Tools
,如下所示-

"tools": {
    ....
      "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final",
    ....
3) 删除旧的
project.lock.json
并再次运行
dotnet restore

4) 现在,您可以使用-
dotnetpublish

查看这是否有帮助。

1)将所有软件包更新为1.1.0版(以及相应的工具预览)

2) 工具包应该安装在
project.json
Tools
部分,而不是
dependencies

因此,请确保您已经在
project.json
的工具部分下添加了
IISIntegration.Tools
,如下所示-

"tools": {
    ....
      "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final",
    ....
3) 删除旧的
project.lock.json
并再次运行
dotnet restore

4) 现在,您可以使用-
dotnetpublish


看看这是否有帮助。

您可以共享您的project.json吗?您可以共享您的project.json吗?包Microsoft.AspNetCore.Server.IISIntegration.Tools 1.1.0-preview4-final与net462(.NETFramework,Version=v4.6.2)不兼容。我将添加project.json...@J.Lennon的副本,从依赖项中删除
Microsoft.AspNetCore.Server.IISIntegration.Tools
。请参阅我的第2点。包Microsoft.AspNetCore.Server.IISIntegration.Tools 1.1.0-preview4-final与net462(.NETFramework,版本=v4.6.2)不兼容。我将添加project.json...@J.Lennon的副本,从依赖项中删除
Microsoft.AspNetCore.Server.IISIntegration.Tools
。请参阅我的第二点。