我了解目标 .NET Standard 2 意味着 .net core、mono 和完整的 .net framework 之间的框架,但我想了解这对不同框架创建的二进制文件意味着什么。
那么如果我创建一个针对 .NET Standard 2 的控制台程序,并使用 .NET Framework 进行编译,那么只有完整的 .NET Framework 可以运行该文件吗?如果它们都可以运行文件,我该如何使用完整的框架或 Mono 运行 .NET Core 的 .dll 可执行控制台?
基本上说,每个框架创建的二进制文件(针对 .NET Standard)能否使用其他框架来运行?
那么如果我创建一个针对 .NET Standard 2 的控制台程序,并使用 .NET Framework 进行编译,那么只有完整的 .NET Framework 可以运行该文件吗?如果它们都可以运行文件,我该如何使用完整的框架或 Mono 运行 .NET Core 的 .dll 可执行控制台?
基本上说,每个框架创建的二进制文件(针对 .NET Standard)能否使用其他框架来运行?
dotnet exec.dll
,但使用.net标准编译它不会报错,但无法运行。如果你问我,这很令人困惑。这也表明它可能在未来被允许或者在某个阶段计划过(参考我之前链接的问题)。 - Mladen Mihajlovicdotnet
应用程序运行在.NET Core上。它加载的程序集必须在.NET Core上可执行 - 它必须针对.NET Core(并且可以依赖于.NET Standard DLL)。您还可以为.NET Core创建自包含部署,其中包含一个.exe
文件,无需dotnet.exe
即可运行。 - NightOwl888dotnet.exe
执行)与.NET Standard无关。 - NightOwl888