.net 如何使应用程序同时在win xp和win 7-x86中运行?

.net 如何使应用程序同时在win xp和win 7-x86中运行?,.net,winforms,visual-studio-2010,c#-4.0,.net,Winforms,Visual Studio 2010,C# 4.0,我有一个在任何一个操作系统(win7(x86)或win xp)中运行的应用程序 我的项目是在VisualStudio2010中设计的,我使用的是.NET4.0 早些时候,属性中的项目“工作目录”是为win 7指定的,但当我构建项目时,它表示找不到工作目录(C:\Program Files(x86)\app) 我现在将我的工作目录更改为C:\ProgramFiles\app。我的应用程序充当MS excel 2003的插件。现在我可以运行它了 那么,如何使我的应用程序同时在WinXP和Win7中运

我有一个在任何一个操作系统(win7(x86)或win xp)中运行的应用程序

我的项目是在VisualStudio2010中设计的,我使用的是.NET4.0

早些时候,属性中的项目“工作目录”是为win 7指定的,但当我构建项目时,它表示找不到工作目录(
C:\Program Files(x86)\app

我现在将我的工作目录更改为
C:\ProgramFiles\app
。我的应用程序充当MS excel 2003的插件。现在我可以运行它了

那么,如何使我的应用程序同时在WinXP和Win7中运行呢

我正在使用WinForms.NET4.0C


请查看Environment.SpecialFolder枚举

在System.IO中有一个名为Path的静态类,其中包含一些非常好的东西

有点挣扎,因为我看不出你从哪里得到帮助文件名

private void MyMenuItem_Click(object sender, EventArgs e)
{
   MyMenuItem.Enabled = false;   
   String helpFileName = "IDoNotKnow.ext";
   string fileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles),Path.Combine("MyApp",helpfileName));
   if (System.IO.File.Exists(fileName))
   {
      System.Windows.Forms.Help.ShowHelp(new System.Windows.Forms.Control(),fileName,System.Windows.Forms.HelpNavigator.TableOfContents);
   }
}

Path.Combine为您做的一件事就是您不必担心反斜杠。如果一个参数上有尾随的一个,它就会使用它,如果没有,它就会弹出它。有时会隐藏很多混乱。

-should“public string LANG\u FOLDER\u PATH=Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)+“\\app\\LANG\\”;“我做了这个更改,可以在xp和win上使用,可以吗?从这个角度看,没有理由不这样做。”。但是,不要连接路径,请查看路径。在System.IOAppendment中添加Combine to answer以说明路径的乐趣。Combine但这确实消除了在win7中工作的冲突??我还可以看到一些targetplatform设置为x86。?呃,文件名只是用来存储所有位的文件名。如果您是通过特殊文件夹执行此操作,则不应存在冲突。
private void MyMenuItem_Click(object sender, EventArgs e)
{
   MyMenuItem.Enabled = false;   
   String helpFileName = "IDoNotKnow.ext";
   string fileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles),Path.Combine("MyApp",helpfileName));
   if (System.IO.File.Exists(fileName))
   {
      System.Windows.Forms.Help.ShowHelp(new System.Windows.Forms.Control(),fileName,System.Windows.Forms.HelpNavigator.TableOfContents);
   }
}