Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.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/8/linq/3.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# Word自动化与Word 2003的向后兼容性_C#_Ms Word_Automation_Office 2003_Word 2003 - Fatal编程技术网

C# Word自动化与Word 2003的向后兼容性

C# Word自动化与Word 2003的向后兼容性,c#,ms-word,automation,office-2003,word-2003,C#,Ms Word,Automation,Office 2003,Word 2003,我正在用C#编写一些Word自动化代码。我在自己的计算机上安装了Word 2007(Microsoft.Office.Interop.Word.dll的12.0.0.0版),但我希望至少支持Word 2003(Microsoft.Office.Interop.Word.dll的11.0.0.0版?) 在没有Word 2003的情况下,是否有任何方法可以使我的代码向后兼容?如果没有安装Word 2003,我就无法安装PIA可再发行软件包。我确信在app.config中进行bindingRedire

我正在用C#编写一些Word自动化代码。我在自己的计算机上安装了Word 2007(Microsoft.Office.Interop.Word.dll的12.0.0.0版),但我希望至少支持Word 2003(Microsoft.Office.Interop.Word.dll的11.0.0.0版?)


在没有Word 2003的情况下,是否有任何方法可以使我的代码向后兼容?如果没有安装Word 2003,我就无法安装PIA可再发行软件包。

我确信在app.config中进行bindingRedirect会起到作用


如果您不介意失去intellisense,并且正在使用.NET4,您可以通过使用dynamic完全摆脱PIA

代码示例:

var type = Type.GetTypeFromProgID("Word.Application");
dynamic word = Activator.CreateInstance(type);
word.visible = true;

我的解决方案是从安装了Word 2003的计算机上获取Microsoft.Office.Interop.Word.dll和Office.dll的副本。这些仅用于构建,以便我的代码在具有Word 2003的系统上工作。不理想,但它可以工作。

您是否认为您可能正在使用Word 2003中不存在的某些功能?如果是这样的话,你可以看看MSDN上的2003年PIA参考资料,确保你所做的一切都在那里。我不这么认为,但我已经设法在安装了Word 2003的机器上测试了它,但它不工作。我假设这是因为我引用的是版本12。请确保测试机器上也安装了v12 PIA。这看起来很有趣,我来看看。谢谢,谢谢。我使用的是.NET3.5,所以不要认为这是一个选项。不过很高兴知道。