Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何创建便携式应用程序(无需安装即可运行)_C#_Wpf_Titanium_Portable Applications - Fatal编程技术网

C# 如何创建便携式应用程序(无需安装即可运行)

C# 如何创建便携式应用程序(无需安装即可运行),c#,wpf,titanium,portable-applications,C#,Wpf,Titanium,Portable Applications,如何创建以下应用程序: 轻量级:我猜你可能不需要.NET框架吧 可移植:运行时无需安装,并将数据保存在应用程序目录中,这样我就可以移动文件夹,甚至可以移动exe 这只是一个个人实验:我想尝试创建一个具有上述属性的简单待办事项列表应用程序 我在想: C#/WPF(但需要.NET framework,我可以通过它来浏览客户端配置文件) Appcelerator钛(我认为这将是轻量级的&足够好了?我不知道我是否可以有一个便携式钛应用程序) 如果您想用C#编写它,您需要.NET框架或Mono框架。

如何创建以下应用程序:

  • 轻量级:我猜你可能不需要.NET框架吧
  • 可移植:运行时无需安装,并将数据保存在应用程序目录中,这样我就可以移动文件夹,甚至可以移动exe
这只是一个个人实验:我想尝试创建一个具有上述属性的简单待办事项列表应用程序

我在想:

  • C#/WPF(但需要.NET framework,我可以通过它来浏览客户端配置文件)
  • Appcelerator钛(我认为这将是轻量级的&足够好了?我不知道我是否可以有一个便携式钛应用程序)

    • 如果您想用C#编写它,您需要.NET框架或Mono框架。不管怎样,你都需要它。谢天谢地.NET2.0非常普及


      默认情况下,.NET使用xcopy部署,因此您可以在目录中复制可执行文件和任何必要的DLL。除非您显式地创建外部依赖项,否则不需要“安装”它。

      @jiewmeng,这里我留下几个键来构建一个可移植的应用程序

    • 如果应用程序需要保存其他数据,如配置文件或数据文件,则必须保存到exe应用程序的同一文件夹或应用程序的子文件夹中

    • 应用程序不应将配置数据读/写到Windows注册表或%Appdata%文件夹中

    • 避免使用需要在系统中注册的外部依赖项,如ocx o dll文件

    • 尝试使用一种不依赖framerworks的本机应用程序的语言。建议使用这种语言

    • 如果要使用.Net语言,请选择在大多数系统(如Microsoft.Net 2.0)中常用的.Net framework版本


    • 如果目标机器安装了.NET Framework,它几乎是可移植的

      NDepend就是这样一种产品,它是基于.NET2.0构建的,如果您以前手动安装.NET2.0,它在WindowsVista、Windows7和其他Windows上运行良好


      就个人而言,用C++/Delphi等本机语言编写应用程序启动器来检测目标机器是否具有.NET并不困难。如果尚未安装.NET,此启动器可以显示警告或帮助自动安装框架。(甚至有些安装程序也允许您这样做。)

      使用Delphi,它总是可移植且更小