如何为一个给定的文件扩展名打开不同的App版本

时间:2010-05-05 12:07:06

标签: c# visual-studio

我们的商家应用在这里有一个扩展名为“.ppx”的数据文件。用户通常会安装多个版本的应用程序(并排),例如版本1和版本2.

ppx文件是xml文件,它们包含从(v1或v2)创建的应用程序版本。让我们说我们有AFileCreatedWithAppv1.ppx和AFileCreatedWithAppv2.ppx分别打开我们的应用程序的版本1或版本2,当它们都具有相同的文件扩展名时?

它必须是可行的,因为这是Visual Studio的功能。实际上,它们甚至为相同的.sln扩展名提供了不同的图标,以指示它将打开的Visual Studio版本。我了解到Visual Studio正在使用Selector或Launcher,但是再次,他们如何更改Windows中的图标?

欢呼:)

2 个答案:

答案 0 :(得分:3)

Visual Studio将其文件扩展名与名为“Visual Studio版本选择器”的应用程序相关联。双击文件时,此应用程序打开文件(例如,项目文件,解决方案文件),并在其中查看文件的xml结构中包含的版本信息。然后,它会启动正确版本的Visual Studio,并将其传递给所单击的文件的名称。我认为图标会根据浏览器扩展名进行更改,该扩展程序会将版本号覆盖在图标上(尽管我对此并不是100%肯定) - 我相信Office可能会做类似的事情。

您可以使用您的应用程序镜像此行为,并将您的ppx文件扩展名与您自己的版本选择器应用程序相关联。

您的版本选择器应用程序需要知道计算机上安装的所有应用程序版本,以便能够将打开文件的责任委派给正确的版本。

答案 1 :(得分:0)

您需要检查版本,然后继续使用其余部分。我们有一个产品可以将数据存储在二进制序列化文件中。标头包含版本信息。在继续进行反序列化之前,产品会检测版本。