标签: .net-runtime

是否可以在 Windows Sandbox 上安装 .NET 应用程序?

我目前正在使用 Windows Sandbox,但似乎无法运行 .NET 应用程序。尽管 Sandbox 安装了 .NET 4.8,但当我尝试运行下载的 .NET 桌面应用程序时,它抱怨运行时不可用。

在此处输入图片说明

尝试安装特定的运行时(4.7.2 是我下载的内容)会出现上述错误。

那么有没有办法在沙箱上运行 .NET 应用程序呢?

.net windows .net-runtime windows-sandbox

5
推荐指数
1
解决办法
1694
查看次数

.NET Core 运行时和 ASP.NET Core 运行时有什么区别?

如果我没记错的话,ASP.NET Core 项目是设置 HTTP Server 的 .NET Core 控制台应用程序。它有一个Program带有方法的类Main。所有指定的 ASP.NET Core 命名空间和类型都通过 NuGet 包(在 SDK 中引用)进行分发Microsoft.NET.Sdk.Web

我的逻辑告诉我“为了运行 ASP.NET Core 应用程序,你只能使用 .NET Core 运行时”,但是......

两个运行时有什么区别?我可以使用 .NET Core 运行时而不使用 ASP.NET Core 运行时运行 ASP.NET 应用程序吗?在否定的情况下,为什么需要为 ASP.NET Core 指定运行时?我不需要指定的运行时来运行 Monogame 项目。

.net-core asp.net-core .net-runtime

5
推荐指数
0
解决办法
271
查看次数

未解析的外部符号 CLRCreateInstance

我在 Internet 的帮助下编写了一些本机 C++ 代码,该代码加载 .NET 运行时并调用具有签名的方法:public static int MethodNameHere(String pwzArgument)来自托管程序集中的类。

但是,我似乎无法使用 Visual Studio 将代码编译为本机 DLL(64 位),因为CLRCreateInstance()似乎存在链接问题,即使我包含"MetaHost.h"在 .cpp 源文件中。

这是完整的代码:

#include "MetaHost.h"

extern "C" {
    __declspec(dllexport) DWORD __stdcall CallManagedMethod(LPCWSTR managedDLLPath, LPCWSTR classPathInAssembly, LPCWSTR methodName, LPCWSTR parameter) {
        // Bind to the CLR runtime..
        ICLRMetaHost* pMetaHost = nullptr;
        CLRCreateInstance(CLSID_CLRMetaHost, IID_ICLRMetaHost, (LPVOID*) &pMetaHost);

        ICLRRuntimeInfo* pRuntimeInfo = nullptr;
        pMetaHost->GetRuntime(L"v4.0.30319", IID_ICLRRuntimeInfo, (LPVOID*) &pRuntimeInfo);

        ICLRRuntimeHost* pClrRuntimeHost = nullptr;
        pRuntimeInfo->GetInterface(CLSID_CLRRuntimeHost, IID_ICLRRuntimeHost, (LPVOID*) &pClrRuntimeHost);

        pClrRuntimeHost->Start();

        // Okay, the CLR is up …
Run Code Online (Sandbox Code Playgroud)

c++ .net-runtime

3
推荐指数
1
解决办法
1762
查看次数