如何在没有.Net 的情况下制作项目?

how to make project without .Net?

我正在用 C# Visual studio 创建一个项目,当我尝试 运行 在我朋友的计算机上构建和发布的项目时,它给出了一个错误,指出未安装特定版本的 .Net .我知道您可以使用 C++ 创建项目并且不需要 .Net,但我不想学习一门新语言而且我主要从使用 C# 编写代码的人那里获得 youtube 帮助。任何知道 Visual studio 的人,你能告诉我是否有我可以制作项目的格式?例如,控制台应用程序、NUnit 测试项目等。thx

您需要下载您的项目用于开发的框架,并将其安装到您朋友的电脑上。这是正常现象,通过更高级的软件工程,您可以构建一个安装程序,将其作为应用程序安装的一部分进行安装。

现在,检查您的应用程序构建在哪个版本的 .NET 框架中。您可以通过转到您的解决方案资源管理器 window,右键单击您的解决方案并 selecting 来完成此操作特性。它将在屏幕左侧打开一个新的选项卡菜单,您想要 select 该应用程序。在那里你会看到一个标有“目标框架”的下拉菜单,它显示了你的项目正在使用的框架,例如“.NET 5.0”

一旦您知道了您的项目使用的框架,您就可以前往 https://dotnet.microsoft.com/ 在您朋友的机器上下载该框架的安装程序。 运行 安装程序和相关框架后,它应该 运行 您的应用程序正常。

您可以发布启用了 self-contained 的应用程序。这将构建一个应用程序,其中包含 运行 应用程序所需的所有 dotnet 框架文件。

这确实使应用程序变得更大,即使是我机器上最基本的 dotnet6 控制台应用程序也是 ~10mb,当它依赖于框架时它是 160kb

UI中使用的设置:

您可以在控制台中执行此操作:

dotnet publish -r win-x86 -c Release --self-contained true -p:PublishTrimmed=true -p:PublishSingleFile=true

一些关于修剪和发布的好文档:

https://docs.microsoft.com/en-us/dotnet/core/deploying/trimming/trim-self-contained

https://docs.microsoft.com/en-us/dotnet/core/deploying/single-file/overview

关于 trimmed=true 选项的注意事项:

https://docs.microsoft.com/en-us/dotnet/core/deploying/trimming/incompatibilities

除了 Istalri Skolir 所说的之外,您还可以尝试通过使用预安装的 .NET 版本针对某个 Windows 版本进行优化。

这是 .NET Frameworks included in specific OS versions 的列表。

例如:

Windows 10 May 2019 Update (all editions) includes the .NET Framework 4.8 as an OS component, and it is installed by default

您需要在项目设置中定义 .NET Framework 版本。