我有一个引用Microsoft.Office.Interop.Excel的C#(VS 2015)应用程序

我的代码包括oXL = new Microsoft.Office.Interop.Excel.Application();以及以上参考。

如果我在同时具有Office 2013和.Net 4.0的计算机上编译并安装该应用程序,但是当我搜索该计算机时,我认为我需要的任何地方都找不到Microsoft.Office.Interop.Excel.dll

我看到了here


  默认情况下,PIA在构建时会嵌入到您的解决方案中,因此您不必将PIA分发给用户,这是使用VSTO加载项或自定义的先决条件。


在构建应用程序时,我的Release文件夹中没有包含Microsoft.Office.Interop.Excel.dll(就像我对其他引用的.dll所做的一样)。

我是否需要手动添加该文件,还是安装此文件的唯一方法,同时还要安装可从Microsoft重新发行的Office Primary Interop程序集?

最佳答案

转到引用的属性并将copylocal设置为true。
Interop库默认将它们设置为false。

生成项目时,这将复制DLL。


  “复制本地”属性(对应于CopyLocal)确定
  是否将引用复制到本地bin路径。
  
  在运行时,
  引用必须位于全局程序集缓存(GAC)或
  项目的输出路径。如果将此属性设置为true,则
  引用在运行时复制到项目的输出路径。


要更深入地了解本地副本,请参见msdn

关于c# - 分发需要Microsoft.Office.Interop.Excel的应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34537467/

10-11 06:43