gpt4 book ai didi

asp.net - Azure 上 .Net 4.7 应用程序的 Myapp..runtimeconfig.json 配置文件的适当内容

转载 作者:行者123 更新时间:2023-12-02 16:54:24 26 4
gpt4 key购买 nike

我是 Azure 新手,对一些事情感到有点困惑。我无法让我的 MVC Core 应用程序在其上正常工作。

该应用程序是一个 MVC .Net Core 2.1 应用程序,针对 .Net 4.7.2 框架(不是 .Net Core),具有相当复杂的依赖关系图。

使用本地 IIS Express,它可以完美运行,并且当我在本地 IIS 实例(安装了 AspNetCoreModule)上使用 Visual Studio 发布它时,它也可以运行。

但是当我尝试在 Azure 上发布它时,发布进展顺利,但应用程序在启动时失败(502.5,进程失败)。

当我从 Azure 控制台启动 EXE 时,遇到错误:

A fatal error was encountered. The library 'hostpolicy.dll' required to execute the application was not found in 'D:\home\site\wwwroot\'.

Failed to run as a self-contained app. If this should be a framework-dependent app, specify the appropriate framework in D:\home\site\wwwroot\xxx.runtimeconfig.json.

我手动添加了该文件,并且我还尝试通过添加 <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles> 使其由 Visual Studio 自动发布。在项目内部。

它生成以下文件:

{
"runtimeOptions": {
"configProperties": {
"System.GC.Server": true,
"Microsoft.NETCore.DotNetHostPolicy.SetAppPaths": true
}
}
}

但这并不能解决问题(完全相同的消息),并且它不包含有关项目的 .Net 要求的任何内容。

所以我尝试用诸如

之类的内容修改文件
 {
"runtimeOptions": {
"framework": {
"name": "Microsoft.NET",
"version": "net472"
},
"configProperties": {
"System.GC.Server": true,
"Microsoft.NETCore.DotNetHostPolicy.SetAppPaths": true
}
}
}

和一些变体( "name": "Microsoft.NETCore.App", "version": "2.1.2" ),但它失败并出现完全不同的错误。

Unhandled Exception: System.TypeInitializationException: The type initializer for 'xxx.UI.Program' threw an exception. ---> System.IO.FileLoadException: Could not load file or assembly 'System.Memory, Version=4.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
at System.IO.DirectoryInfo.Init(String originalPath, String fullPath, String fileName, Boolean isNormalized)
at NLog.Internal.AssemblyHelpers.GetAssemblyFileLocation(Assembly assembly)
at NLog.LogFactory.GetDefaultCandidateConfigFilePaths()+MoveNext()
at NLog.LogFactory.TryLoadFromFilePaths()
at NLog.LogFactory.get_Configuration()
at NLog.LogFactory.GetLogger(LoggerCacheKey cacheKey)
at NLog.LogFactory.GetLogger(String name)
at NLog.LogManager.GetCurrentClassLogger()
at xxx.UI.Program..cctor() in C:\xxx\xxx.UI\Program.cs:line 14
--- End of inner exception stack trace ---
at xxx.UI.Program.Main(String[] args) in C:\xxx\xxx.UI\Program.cs:line 28

如前所述,同一应用程序在 IIS 中运行良好。 “System.Memory”随 EXE 一起提供,并且在版本 4.5.1(根据 nuget)中没有问题。

我无法确定在此文件中设置的合适值以在 Azure 中托管 MVC Core .Net 4.7 应用程序,您能帮忙吗?谢谢

最佳答案

我最近回答自己:根据团队中的某人的说法,并且正如我们的测试所证实的那样,问题与“运行时”配置文件无关,它与配置文件中的连接字符串有关。将其移至其他位置,应用程序将按预期启动。

在这方面浪费了很多时间,遗憾的是 Microsoft 没有在错误消息方面更好地处理这个问题。

关于asp.net - Azure 上 .Net 4.7 应用程序的 Myapp..runtimeconfig.json 配置文件的适当内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52641985/

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