代码之家  ›  专栏  ›  技术社区  ›  Bryan Roth

.NET框架依赖项

  •  5
  • Bryan Roth  · 技术社区  · 18 年前

    在.NET中开发桌面应用程序时,是否可能不需要.NET框架?在.NET中开发软件是开发桌面应用程序的首选方式吗?软件公司用于开发桌面应用程序的最常用编程语言是什么?

    .NET框架的要求是否只是基于您安装的Windows操作系统而假定的,因此它们为什么列出Windows操作系统的版本要求?

    15 回复  |  直到 12 年前
        1
  •  9
  •   Dillie-O    18 年前

    您仍然可以使用C/C++开发Windows桌面应用程序,消除对.NETFramework的要求,但您需要确保必要的库已经在系统上或已安装。

    .NET框架的好处在于,Windowsxpsp2和Vista默认安装了3.0框架运行时。

    在很多方面,这是微软的“开发标准”,并且已经有一段时间了。这使您不必担心将一堆库附加到应用程序上。如果您坚持使用.NET提供的所有库,那么您最终只需要担心部署可执行文件,这是一个很大的缓解头痛的方法。当你有很多库的时候,你也必须部署,然后你开始在写更新的时候遇到麻烦,因为你必须确保那些更新被推到你现有的安装程序和所有现有安装的应用程序中。

    至于“首选”,这往往会在某些时候激怒羽毛,但有越来越多的.NET开发人员希望在我倾向于访问的求职网站的Web和桌面。8 ^

    编辑:非常感谢Orion指出了我对框架的困惑。如果您使用的是xp sp2或vista,则可以获得3.0英寸的流量。其他一切都需要简单的Windows Update下载或运行。

        2
  •  2
  •   Keng    18 年前

    没有.NET框架,您无法运行.NET应用程序。框架负责处理一些更繁琐的后台任务,因此没有框架就无法运行应用程序。

        3
  •  2
  •   Adam    18 年前

    在Windows平台上,使用.NET是开发桌面应用程序的首选方法。.NET的WINFRAMS模型是开发传统或厚客户端应用程序的一种方法,Windows .NET的演示文稿基础是MS的最新技术方向。

        4
  •  1
  •   Bryan Roth    18 年前

    我想我想说的是,当我看到某些软件的系统需求时,我很少看到.NET框架是一种需求。所以,我总是想知道他们是如何在不需要它的情况下(如果他们在.NET中开发软件的话)度过难关的。所以,我只是假设大多数商业软件不是用.NET编写的,所以这就是我问这个问题的原因。希望能解决一些问题。

        5
  •  1
  •   ricree    18 年前

    Mono 有一个Windows版本,如果你绝对要避免依赖.NET的话。

    不过,从任何角度来看,在运行应用程序的任何计算机上都需要与.NET兼容的运行时。因此,如果您想完全避免.NET,您可能需要将mono运行时与应用程序一起分发。

        6
  •  1
  •   Jon Limjap    18 年前

    .NET应用程序分发的最佳实践是,安装程序以某种方式与所需框架的.NET可再发行安装程序一起引导,以便如果尚未安装所需框架(例如,在Windows XP中需要3.5),则安装程序只会将其放入。

    .NET运行时足够小,可以进行安装(对于.NET 2.0,它大约是24MB,还没有检查.NET 3.5有多大)。

        7
  •  1
  •   Dillie-O    18 年前

    我想我想说的是 当我查看系统需求时, 某些软件我很少看到 .NET框架是一项要求。 所以,我总是想知道他们是怎么过的 而不是要求(如果 他们在.NET中开发了该软件)。 所以,我只是假设 软件不是用.NET编写的,所以 这就是我问这个问题的原因。 希望能解决一些问题。

    我没有任何数字,但我想,由于大多数人在桌面上运行XP和Vista,列出.NET框架是没有意义的,特别是如果他们将目标放在应用程序本身的2.0框架上。回到过去,你看到有多少应用程序说“需要vbrun50.dll”,或者说这方面的内容,因为默认情况下它被安装到Windows中?

    另外,对于那些不是非常可怕的电脑Saavy的人来说,它也不那么“可怕”。他们只想下载、安装和运行应用程序。我的一些应用程序需要2.0框架,我确实让一些人问我这是什么,我如何得到它,它是否花费了我任何东西?我给他们的典型答案是“如果你运行的是XP或Vista,那就没什么好担心的了”,他们似乎喜欢这样。

        8
  •  1
  •   Campbell    18 年前

    我认为,如果您能够做一些类似静态链接.NET框架的事情,这样您就不必开发它,那么您将违反Microsoft提供的EULA!

    拥有如此丰富的开发经验是我们必须付出的代价!当你考虑回到MFC编程的困难时,这是值得的!

        9
  •  1
  •   Jon Galloway    18 年前

    RemoteSoft提供了一个链接器——1250美元用于单个开发人员许可证: http://www.remotesoft.com/linker/index.html

    如果您的应用程序将在Mono上运行(Mono的WinForm桌面支持现在非常好),那么您可以将应用程序打包为一个单一的可执行包。有两个选项-默认值包括运行时,但不静态链接到它,其他静态链接到mono运行时。您可能不希望静态链接的原因是它会将您的应用程序放在lgpl下;没有静态链接(仍然只是一个exe)的包没有这个要求。 http://www.mono-project.com/Mono:Runtime#Bundles

        10
  •  1
  •   Wedge    18 年前

    你可以考虑使用 "ClickOnce Deployment" 这使得在应用程序中添加.NET 2.0、3.0和/或3.5可再发行安装程序非常容易。只需单击项目属性中的复选框,安装程序将自动检测是否已安装了必备框架,如果没有,则将安装该框架。

    它不适用于所有情况,但如果你能利用它,它可以相当光滑。

        11
  •  0
  •   quekshuy    18 年前

    我在.NET中做了一些编程(使用C),我意识到我经常渴望对一些控件进行更多的控制。这些需要扩展到.NET框架之外的知识。

    例如,当我使用WebBrowser控件为Web应用程序生成自动化测试工具时,我意识到在某些情况下,需要来自较低级别的AxWebBrowser ActiveX控件和文档的事件处理程序是稀缺的/代码示例包含了许多COM互操作概念。所以,也许对COM有一些了解会有用?

        12
  •  0
  •   Scott Stanchfield    18 年前

    我想我想说的是 当我查看系统需求时, 某些软件我很少看到 .NET框架是一项要求。 所以,我总是想知道他们是怎么过的 而不是要求(如果 他们在.NET中开发了该软件)。 所以,我只是假设 软件不是用.NET编写的,所以 这就是我问这个问题的原因。 希望能解决一些问题。

    对于Windows桌面,用C++开发的许多应用程序需要一个特定版本的MFC运行时DLL,即使它不能被明确地列为一个要求。我相信对于需要.NET的应用程序也是如此。

    例如,我在船上工作的应用程序包含.NET和我们需要的特定版本的MFC的可再发行文件以及许多其他必需的组件。我们的安装程序将安装用户系统上当前未安装的任何组件。过去几年中,每个版本使用的.NET代码都比以前的版本多。

    我认为假设大多数商业软件不使用.NET是不准确的,因为它没有被列为需求。我认为你不能从中准确地假设任何事情。

        13
  •  0
  •   Orion Edwards    18 年前

    .NET框架的好处在于,Windows XP默认安装了2.0框架运行库。

    什么时候开始的?我不得不告诉我们的许多Windows XP用户安装它。是的,你可以通过Windows Update把它拉下来,但我很有信心它是一个可选的安装,而不是自动发生的事情。

    Vista安装了3.5

    不,它安装了3.0。你得到了WPF,但是你 不要 获得LINQ

        14
  •  0
  •   iCloak    12 年前

    是的,您可以在不使用框架的情况下构建一个内置于点网的应用程序。您可以使用像ESS Dotnet Fuze这样的程序将任何dll(包括框架dll)合并到应用程序中。生成的exe不再需要框架。

    请转到此链接: http://essaver.net/fuze.html 看看引信。

        15
  •  -1
  •   TheSmurf    18 年前

    不需要.NET框架是可能的;有些公司出售(千万美元,请注意)解决方案,这些解决方案将允许您这样做。然而,这些都是完全的黑客行为,微软不支持。

    如何开发桌面应用程序(即是否使用.NET)取决于您的需求。没有更好的方法。

    最常用的语言可能是C。

    推荐文章