C# 多平台编码

C# 多平台编码,c#,excel,64-bit,32bit-64bit,multiplatform,C#,Excel,64 Bit,32bit 64bit,Multiplatform,我用C#编写了一个项目,该项目与.csv文件交互,并将其从模板转换为.xlsx格式。这是在VisualStudio2008中使用C#WinForms。它在安装了Excel的Windows 7 64位计算机上运行良好,在我主管的计算机上也运行良好。然而,将其移回Windows XP时,它失败了 我的问题是,我需要做什么才能使它成为那样的多平台?目标计算机也需要64位吗?如果是这样,我如何使我的项目改为32位?它还需要某种Excel安装吗 更新:我的程序中有对Windows程序集中的东西的引用,我不

我用C#编写了一个项目,该项目与.csv文件交互,并将其从模板转换为.xlsx格式。这是在VisualStudio2008中使用C#WinForms。它在安装了Excel的Windows 7 64位计算机上运行良好,在我主管的计算机上也运行良好。然而,将其移回Windows XP时,它失败了

我的问题是,我需要做什么才能使它成为那样的多平台?目标计算机也需要64位吗?如果是这样,我如何使我的项目改为32位?它还需要某种Excel安装吗

更新:我的程序中有对Windows程序集中的东西的引用,我不相信它们在目标计算机上。有没有一种方法可以用.exe对它们进行打包,以便它可以在另一台机器上运行?

需要检查的几件事

检查VisualStudio项目设置中的AnyCPU,查看此设置

检查Win XP计算机中是否安装了MS office,以及安装的版本,如果您的应用程序使用MS office DLL,则您可能会面临“DLL地狱问题”,请检查确切的版本


尝试通过放置日志或删除引用或注释代码进行调试。

请描述失败的
意味着什么。有错误吗?有调试信息吗?当我双击Windows XP上的.exe文件时,它立即出错,说我认为找不到system.io文件。这个错误也随机地在里面放置了一些我无法破译的数字。有丢失的文件吗?可能是
FileNotFoundException
?我不知道。我只把.exe和xml文件带到了Windows 7机器上,这很好,但在同样安装的Windows XP上失败了。您使用的是什么
.net
版本?xp机器上是否安装了正确版本的
.net
?关于DLL,我在xp机器上安装了两个Excel DLL,它们与.exe位于同一文件夹中。是不是他们需要去别的地方?看这个: