我打算学习C#并开始编写Windows. exe应用程序,但唯一阻碍我的是,并非所有潜在用户都安装了. NET框架,因此将无法运行我的应用程序。有什么办法吗?谢谢!
t5fffqht1#
不。c# * 只 * 针对.NET(或类似的框架,如mono)。顺便说一句,Win7预装了.NET,我相信Vista也预装了。还有大量的MS应用程序需要. NET。它在windows机器上几乎无处不在,所以我不会担心它。
icnyk63a2#
是的,有XenoCode可以 Package 你的应用程序需要的一切,并作为一个独立的运行它。我不知道他们使用什么样的肮脏的伎俩,但有一个方法。现在是Spoon从他们的网站:斯普恩工作室轻松虚拟化您的所有应用程序,以便在Spoon Server和Spoon.net上实现即时、零安装交付。Spoon Studio允许您将现有的软件应用程序转换为虚拟应用程序,这些应用程序无需安装、冲突或依赖项即可运行。顺便说一句,我与他们没有任何联系-只是好奇,如果社区将接受它或火焰。
0pizxfdo3#
是的,使用.NET本机。它不会编译成中间语言,而是编译成本机代码,并使用静态链接的.NET库运行。因此,最终用户将没有.NET运行时要求。https://msdn.microsoft.com/en-us/vstudio/dn642499.aspxhttps://msdn.microsoft.com/en-us/library/dn584397(v=vs.110).aspx在Windows 10之前不工作
uqzxnwby4#
C#只是一种编程语言。从严格的技术Angular 来看,有人可以开发一个针对Windows API或直接〈在此插入您的目标平台〉的C#编译器。当然,这将是一个很大的努力,因为C#是为适应. NET而设计的,这意味着编译器编写者必须重新实现. NET才能提供所有C#功能。从实际的Angular 来看,您只需要使用C#来针对. NET或Mono。
5ssjco0h5#
Microsoft从2005年开始随XP提供.NET 2.0。因此,即使您的目标计算机是在过去8年内购买的,它也应该仍然具有. NET。另一方面,如果你的目标是linux机器,有mono框架可以实现,你甚至不需要包含它,大多数像ubuntu,debian等软件库都有mono的软件包,你所要做的就是让你自己的软件包依赖于Mono运行时。
cedebl8k6#
不就这么简单
每个人都可能说它已经安装了/或者你需要运行库。但这意味着你需要它
kkbh8khc7#
这与C#无关。这与你想开发托管应用程序还是非托管应用程序有关。C#是开发运行在.NET框架上的托管应用程序的选择。如果要避免这种情况,可以使用Visual Studio进行Visual C++(不带.NET)开发然而,.NET framework comes pre-installed with latest Os like Win 7 these days .
e5nszbig8#
微软制作了一个可再发行的安装程序,可以安装你需要的.NET版本,它会使你的安装膨胀,但这几乎是你所需要的唯一方法。
nwlqm0z19#
你需要.NET运行时,但是运行windows的most of the PCs已经有了。
9条答案
按热度按时间t5fffqht1#
不。c# * 只 * 针对.NET(或类似的框架,如mono)。顺便说一句,Win7预装了.NET,我相信Vista也预装了。还有大量的MS应用程序需要. NET。它在windows机器上几乎无处不在,所以我不会担心它。
icnyk63a2#
是的,有XenoCode可以 Package 你的应用程序需要的一切,并作为一个独立的运行它。我不知道他们使用什么样的肮脏的伎俩,但有一个方法。
现在是Spoon
从他们的网站:
斯普恩工作室
轻松虚拟化您的所有应用程序,以便在Spoon Server和Spoon.net上实现即时、零安装交付。
Spoon Studio允许您将现有的软件应用程序转换为虚拟应用程序,这些应用程序无需安装、冲突或依赖项即可运行。
顺便说一句,我与他们没有任何联系-只是好奇,如果社区将接受它或火焰。
0pizxfdo3#
是的,使用.NET本机。
它不会编译成中间语言,而是编译成本机代码,并使用静态链接的.NET库运行。因此,最终用户将没有.NET运行时要求。
https://msdn.microsoft.com/en-us/vstudio/dn642499.aspx
https://msdn.microsoft.com/en-us/library/dn584397(v=vs.110).aspx
在Windows 10之前不工作
uqzxnwby4#
C#只是一种编程语言。从严格的技术Angular 来看,有人可以开发一个针对Windows API或直接〈在此插入您的目标平台〉的C#编译器。当然,这将是一个很大的努力,因为C#是为适应. NET而设计的,这意味着编译器编写者必须重新实现. NET才能提供所有C#功能。
从实际的Angular 来看,您只需要使用C#来针对. NET或Mono。
5ssjco0h5#
Microsoft从2005年开始随XP提供.NET 2.0。因此,即使您的目标计算机是在过去8年内购买的,它也应该仍然具有. NET。
另一方面,如果你的目标是linux机器,有mono框架可以实现,你甚至不需要包含它,大多数像ubuntu,debian等软件库都有mono的软件包,你所要做的就是让你自己的软件包依赖于Mono运行时。
cedebl8k6#
不就这么简单
每个人都可能说它已经安装了/或者你需要运行库。但这意味着你需要它
kkbh8khc7#
这与C#无关。这与你想开发托管应用程序还是非托管应用程序有关。C#是开发运行在.NET框架上的托管应用程序的选择。
如果要避免这种情况,可以使用Visual Studio进行Visual C++(不带.NET)开发
然而,.NET framework comes pre-installed with latest Os like Win 7 these days .
e5nszbig8#
微软制作了一个可再发行的安装程序,可以安装你需要的.NET版本,它会使你的安装膨胀,但这几乎是你所需要的唯一方法。
nwlqm0z19#
你需要.NET运行时,但是运行windows的most of the PCs已经有了。