debugging 程序“[3984] dotnet.exe”已退出,代码为-2147450751(0x 80008081)

t30tvxxf  于 2022-11-14  发布在  其他
关注(0)|答案(6)|浏览(222)
The program '[3984] dotnet.exe' has exited with code -2147450751 (0x80008081).
The program '[3984] dotnet.exe: Program Trace' has exited with code 0 (0x0).
The program '[2492] iisexpress.exe: Program Trace' has exited with code 0 (0x0).
The program '[7352] chrome.exe: WebKit' has exited with code -1 (0xffffffff).
The program '[2492] iisexpress.exe' has exited with code 0 (0x0).

在我启动我的mvc项目的调试器(使用VS 2017 .Net Core 2.14)之后,chrome在调试期间打开和关闭了一秒钟,我得到了这个错误。有人有什么想法吗?

llmtgqce

llmtgqce1#

TL;DRhere运行最新的可用.NET核心SDK安装程序
详细说明:当我尝试运行一个简单的.NET核心控制台应用程序时,输出窗口中显示以下错误,应用程序无法启动:

程序“[11036] dotnet.exe”已退出,代码为-2147450749(0x 80008083)。
然后我转到我的应用程序代码的**\bin\Debug\netcoreapp1.1**路径并从该路径启动PowerShell窗口。然后我尝试使用以下命令从控制台启动应用程序:

dotnet .\myapp.dll

其给出以下错误:
找不到任何相容的Framework版本找不到指定的Framework 'Microsoft.NETCore. App',版本'1.1.2'。

  • 检查应用程序依赖项并将安装在以下位置的框架版本作为目标:\
  • 或者,安装框架版本“1.1.2”。

然后我意识到Visual Studio没有在输出窗口中显示实际的错误,这对我来说更有用。
这让我想起了一些事。然后,我在指挥部下面

dotnet --version

这给了我计算机上安装的最高.NET核心版本。它返回:

2.0.3

我还检查了C:\Program Files\dotnet\sdk目录,它包含以下目录:

1.0.0-preview2-003131
1.0.0-preview4-004233
1.0.4
1.1.0

这里缺少我的应用程序运行所需的文件夹1.1.2。因此,我从here运行了最新可用的.NET Core SDK安装程序来修复它。安装程序分为两部分:

  1. Microsoft .NET核心1.0.5运行时
    1.微软.NET核心Windows Server主机
    第二部分对于解决我们所面临的错误至关重要。它要求在您的计算机上启用IIS功能作为先决条件。因此,在开始安装之前启用IIS功能。
    所以运行并完成安装程序安装解决了我的问题。
nvbavucw

nvbavucw2#

我只需要右键单击项目,然后选择属性,并将目标框架从1.1更改为1.0。完成!

jogvjijk

jogvjijk3#

我也遇到过类似的错误。在我的例子中,我有一个NuGet包,它针对的是比我本地安装的SDK更高的dotnetcore次要版本。为了解决这个问题,我在NuGet包上下载了一个次要版本,但更新到最新的SDK也可能会起作用。

jgovgodb

jgovgodb4#

让我们举一个例子,您使用的是.net核心版本2.2。
请检查,
1.您已安装“.NET Core 2.2”SDK x64或x86版本。如果尚未安装,请从https://dotnet.microsoft.com/download/visual-studio-sdks下载
1.确保在以下文件夹结构下生成“2.2.110”文件夹
C:\程式档\dotnet\sdk

czq61nw1

czq61nw15#

删除“\bin\Debug”路径中的所有内容,重新生成解决方案并运行。问题解决!

smtd7mpg

smtd7mpg6#

这是类似的问题,我面临和打开新的问题。我正在寻找答案,而不是workaround / solution。所以我决定,而不是回答我自己的问题,所以在这里回答。

Microsoft安全建议:Insecure library loading could allow remote code execution

Microsoft发布了新的API enhancements for Windows,以帮助开发人员正确、安全地加载external libraries
这与单独的Visual Studio无关。

LOAD_LIBRARY_SEARCH_SYSTEM32 0x00000800

 If this value is used, %windows%\system32 is searched
 for the DLL and its dependencies. Directories in the standard
 search path are not searched. This value cannot be combined with
 LOAD_WITH_ALTERED_SEARCH_PATH.

**Effective Platforms are:**
1- Windows 7, 

2 - Windows Server 2008 R2,
 
3- Windows Vista and Windows Server 2008:  This value requires KB2533623 to be installed.

4 - Windows Server 2003 and Windows XP:  This value is not supported

重要信息:

1.名称:核心主机库加载失败
1.数据类型
1.值(带负数号,32比特):2147450750
1.值(8位):130
1.说明:
加载dependent library时出错。如果任何宿主组件对依赖库调用LoadLibrary/dlopen并且调用失败,则会返回此错误代码。此错误最常见的情况是依赖库缺少某些依赖项(例如,机器上缺少必要的CRT),安装可能已损坏或不完整。如果在尚未通过宿主层初始化的hostpolicy上调用corehost_resolve_component_dependencies,也会从corehost_resolve_component_dependencies返回此错误代码。如果直接加载coreclr而不加载宿主层,然后使用AssemblyDependencyResolver(这是不受支持的情况),通常会发生这种情况。
References :1
References :2
Refernces : 3

相关问题