我对最近的.net发展很感兴趣,但我无法真正关注所有细节。我想知道现在是否可以将.net框架dll直接嵌入到应用程序中,而不是要求用户单独下载框架。
P.S。:对于"最近的.net开发",我的意思是它都是开源的,因此我想知道我是否可以使用新的开源版本。如果我得到了正确的,我甚至可以直接使用框架代码,因此应用程序不应该请求框架DLL,如果它?
答案 0 :(得分:2)
我想知道现在是否可以嵌入.net框架dll 直接在应用程序中而不是要求用户下载 框架分开。
是的。 .Net native makes it possible。您可以在没有安装.net的情况下运行.net应用程序。
.Net native通过将应用程序预编译为本机代码来实现这一目标。
不幸的是,它仅适用于Windows商店应用程序。我们可能期望在不久的将来支持桌面应用程序。
答案 1 :(得分:1)
不是真的。 .NET framework
中没有允许将其直接嵌入单个可执行文件中的更新。
然而,每台运行Windows的现代PC都有.NET框架。 甚至Vista都安装了.NET 3. .NET通过Windows Update进行更新。
唯一需要担心没有.NET的操作系统是XP,它长期不受支持且不见了。
答案 2 :(得分:1)
我们在谈论什么样的应用?桌面?网络应用?
CoreFX只是.NET Framework模块化的模块化版本,但是它不会链接" (类似于C ++开发)对主可执行文件的任何程序集。
CoreFX将允许多个并行应用程序,因此当您将一个应用程序更新到新模块时,其他CoreFX应用程序不会受其影响。
但是(至少现在)CoreFX目前是针对云和服务器应用程序的目标,并没有.NET 4.6框架的全部功能,也没有或支持GUI框架(WPF,WinForms)。
因此,如果您的目标是Web应用程序,您可以尽快使用它(它尚未发布。截至撰写本文时,它将在2015年7月20日的3周内发布) 。如果您需要移动或桌面应用程序,则必须坚持使用完整的.NET 4.6 / 4.5 Framework,然后您的应用程序将需要在您的PC上安装相应的.NET Framework才能使用该应用程序。
即。你不能将EntityFramework 6.x与CoreFx一起使用,因为它取决于完整的.NET框架实现,EF 7.x不支持所有Db提供程序,也没有6.x的所有功能。
这很快就会发生变化。如果您使用它,请注意其局限性。
查看此问题的corefx问题跟踪器,解决您的确切问题:
https://github.com/dotnet/corefx/issues/165
您是否可以在目标VS2015中创建桌面程序 .NETCore 5或.NETFramework 4.6(它们是独立的吗?)。对 现在在VS2013中,您似乎只能在创建时定位.NETCore Windows应用商店。在创建时,我似乎无法以.NETCore为目标 桌面应用程序。
.NET Core目前主要关注服务器端场景,没有像WinForms / WPF等GUI技术。另一方面,.NET Framework 4.6包含所有内容,因此您可以使用它创建桌面应用程序。
.NETCore 5是否需要为.NETCore程序安装运行时 在目标计算机上工作(无论是windows,mac还是 linux),或者我能否将运行时包含在内 程序
.NET Core可以与您的应用程序一起部署,因此不需要安装运行时。
- 醇>
如果需要安装,这会带给我另一个问题 .NETCore运行时,将安装.net Framework 4.6安装程序 .NETCore 5用它(仅限Windows)?
见2.