2009-04-17 79 views
1

我希望我的应用程序具有两种Office版本(以及其中的Outlook)。我知道我不能安装它们完整的并行(Outlook是真正的战斗)。与Office 2003和2007互操作

具体而言,我们的应用开辟了展望,填写一些信息,并加载了接触(这样他们就可以选择向谁发送到),以及其他一些基础知识。如果重要,操作系统会因Windows SP,Server 2003,Server 2008和Vista而有所不同。

我们正在考虑去Office 2007(无论我们喜欢与否,迟早会有,所以我正在准备早一点而不是晚一点),如果我安装Office 2007,我会发现我可以' t使用旧的互操作DLL(应用程序不会编译)。我只能假设,如果我使用2007年的互操作性,2003年将无法工作 - 这正是我们现在所处的位置。

其他应用程序做到这一点,但我的谷歌foo的失败,我和我的StackOverflow foo是差不多的。

如何让Visual Studio来让我两个代码的任何想法?

编辑: 我居然忘了这个问题,但是我找到了答案。

答案是其他原因。 Interop工作得很好,但是另一部分代码引用了另一个版本特定的引用(具体而言,Excel),而不是Interop。从来没有与Interop合作过,我只是假设它并不重要,而且它们是一样的。原来我错了。一旦我们删除了所有引用并重新添加的正常Microsoft.Office.Interop引用,它都是Just Worked(TM)。

回答

2

犯错,所以这个问题可以关闭我会在这里的答案:

答案是从别的原因。 Interop工作得很好,但是另一部分代码引用了另一个版本特定的引用(具体而言,Excel),而不是Interop。从来没有与Interop合作过,我只是假设它并不重要,而且它们是一样的。原来我错了。一旦我们删除了所有引用并重新添加的正常Microsoft.Office.Interop引用,它都是Just Worked(TM)。

1

该应用程序不会编译?你在说什么?什么是错误? 如果您安装Office桌面套件,它不应该影响您的代码编译。

你不是说应用程序不功能。你说的是编译中断。这怎么可能?

可能是因为您没有安装PIA,或者较旧的PIA已被卸载,或者当您安装了新办公室时,您获得了新的PIA并且存在一些不兼容问题。

后一种选择似乎令人难以置信的给我。

我在想这是别的。但看到这个Q已经休眠多久了,我想你现在已经走了。

相关问题