gpt4 book ai didi

asp.net - MacOSX 上的单声道 - "The runtime version supported by this application is unavailable."v4.5

转载 作者:行者123 更新时间:2023-12-02 04:29:46 24 4
gpt4 key购买 nike

我刚刚在 MACOSX 10.10.5 Yosemite 上安装了 Mono v4.0.4。安装程序包是:从 http://www.mono-project.com/download/ 下载的 MonoFramework-MDK-4.0.4.4.macos10.xamarin.x86.pkg昨夜。

我有一个 webapi 应用程序,我想用 xsp4.exe 运行它。我使用这个命令行:

/usr/bin/mono --runtime=v4.5/Library/Frameworks/Mono.framework/Versions/4.0.4/lib/mono/4.5/xsp4.exe

我得到这个输出:

WARNING: The runtime version supported by this application is unavailable.
Using default runtime: v4.0.30319
...

为什么我会收到此消息?为什么会说“运行时版本不可用”?

我相信我已经安装了 v4.5,其中包含 mono v4.0.4。在目录/Library/Frameworks/Mono.framework/Versions/4.0.4/lib/mono中,我可以看到

  • 2.0
  • 3.5
  • 4.0
  • 4.5

这是否表明运行时 v4.5 可用?

在 4.5 目录中,我看到很多 DLL,全部符号链接(symbolic link)到 gac 目录。这些符号链接(symbolic link)的目标存在。

我不知道如何告诉 mono,是的,v4.5 确实存在。使用它。

我有一个单独的、可能相关的问题。 收到上述警告后,xsp4 运行。当我尝试在浏览器中加载 ASPX 应用程序时,出现可怕的 CS0234 错误,

enter image description here

System.Web.Compilation.CompilationException
CS0234: The type or namespace name `Http' does not exist in the namespace `System.Web'. Are you missing an assembly reference?

但是在/Library/Frameworks/Mono.framework/Versions/4.0.4/lib/mono/4.5 中,我可以看到

System.Web.Http.dll -> ../gac/System.Web.Http/4.0.0.0__31bf3856ad364e35/System.Web.Http.dll

该 DLL 确实存在于 gac 目录中。我认为 xsp4/mono 找不到属于 v4.5 一部分的 System.Web.Http.dll。我对吗?

我正在做一些基本错误的事情。有人可以引导我正确吗?

最佳答案

mono --runtime=

该选项用于控制CLR运行时:

CLR version .NET version
1.0 1.0
1.1 1.1
2.0 2.0, 3.0, 3.5
4 4, 4.5, 4.6

如果您 disasm xsp4.exe,您将看到它需要一个可以提供 CLR 4.0 运行时的主机:

ikdasm xsp4.exe | head -n 2

// Metadata version: v4.0.30319

或通过 xCorFlags:

>>corflags xsp4.exe

Mono/.NET Framework CorFlags Conversion Tool. Version 1.0.5643.36015
Copyright (c) SushiHangover. All rights reserved.

Version : v4.0.30319
CLR Header: 2.5
PE : PE32
CorFlags : 0x9
ILONLY : 1
32BITREQ : 0
32BITPREF : 0
Signed : 1

Mono 将通过探测正在加载的 CIL 来自动检测所需的运行时,因此无需指定它,除非您确实需要强制使用不同的运行时版本。

仅供引用:Mono 为 xsp4(和其他)的工具/实用程序安装 shell 脚本,因此您不必手动输入路径:

cat `which xsp4`

#!/bin/sh
exec /Library/Frameworks/Mono.framework/Versions/4.2.1/bin/mono $MONO_OPTIONS "/Library/Frameworks/Mono.framework/Versions/4.2.1/lib/mono/4.5/xsp4.exe" "$@"

关于asp.net - MacOSX 上的单声道 - "The runtime version supported by this application is unavailable."v4.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33508922/

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