gpt4 book ai didi

c# - 无法发布 .NET Core 应用程序(运行时不受支持)

转载 作者:行者123 更新时间:2023-12-01 16:36:55 25 4
gpt4 key购买 nike

我正在使用 .net core 构建一个 API,我刚刚在发布过程中遇到了这个问题:

The project being published does not support the runtime 'dnx-clr-win-x86.1.0.0-rc2-20221'

我看到了this github issue以及this one我距离解决方案还很远。这是我的更新 project.json 文件:

  {
"compilationOptions": {
"debugType": "portable",
"emitEntryPoint": true,
"preserveCompilationContext": true
},

"dependencies": {
"AspNet.Security.OAuth.Validation": "1.0.0-alpha1-*",
"Microsoft.AspNetCore.Authentication.Cookies": "1.0.0-rc2-*",
"Microsoft.AspNetCore.Authentication.JwtBearer": "1.0.0-rc2-*",
"Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-*",
"Microsoft.AspNetCore.Hosting": "1.0.0-rc2-*",
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0-rc2-*",
"Microsoft.AspNetCore.IISPlatformHandler": "1.0.0-rc2-*",
"Microsoft.AspNetCore.Mvc": "1.0.0-rc2-*",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-*",
"Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-*",
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-rc2-*",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-*",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc2-*",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-*",
"OpenIddict.Core": "1.0.0-*",
"OpenIddict.EF": "1.0.0-*"
},

"frameworks": {
"net451": {
"frameworkAssemblies": {
"System.ComponentModel": { "type": "build" }
}
},

"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0-rc2-*"
}
},

"imports": [
"dnxcore50",
"portable-net451+win8"
]
}
},

"tools": {
"Microsoft.AspNetCore.Server.IISIntegration.Tools": {
"version": "1.0.0-rc2-*",
"imports": "portable-net45+wp80+win8+wpa81+dnxcore50"
}
},

"scripts": {
"postpublish": "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%"
},

"exclude": [
"wwwroot",
"node_modules"
],

"publishExclude": [
"**.user",
"**.vspscc"
]
}

我在某处读到这可能是由于我的依赖项的组织造成的?

更新

这是我在使用 dotnet Restore 时遇到的错误:

Errors in c:\Users\Dude\Documents\my-api-v1\src\MyApi\obj\060296a3-1ddd-4410-9e77-9510cd667f39\bin\project.json
Microsoft.AspNetCore.Server.IISIntegration.Tools 1.0.0-rc2-20832 is not compatible with DNXCore,Version=v5.0.
Some packages are not compatible with DNXCore,Version=v5.0.
Microsoft.AspNetCore.Server.IISIntegration.Tools 1.0.0-rc2-20832 is not compatible with DNXCore,Version=v5.0 (win7-x64).
Some packages are not compatible with DNXCore,Version=v5.0 (win7-x64).

最佳答案

您引用的 ASP.NET Core RC2 包与 VS RC1 工具不兼容,因为它们都依赖于完全不同的堆栈(DNX 与 .NET CLI)。

相反,您应该考虑使用 dotnetpublish

我建议更新您的 project.json 文件以删除过时的 commands 部分并包含缺少的 tools/脚本:

"tools": {
"Microsoft.AspNetCore.Server.IISIntegration.Tools": {
"version": "1.0.0-rc2-*",
"imports": "portable-net45+wp80+win8+wpa81+dnxcore50"
}
},

"scripts": {
"postpublish": "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%"
}

netstandardapp1.5 还应替换为新的 netcoreapp1.0 TFM,并且应在 netcoreapp1.0/dependencies 下添加以下依赖项>:

"Microsoft.NETCore.App": { "type": "platform", "version": "1.0.0-rc2-*" }

您可以看看https://github.com/openiddict/openiddict-core/blob/dev/samples/Mvc.Server/project.json一个工作示例。

关于c# - 无法发布 .NET Core 应用程序(运行时不受支持),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37139742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com