我有一个应用程序可以打开Visio文件.VSD并将一些jpeg图像复制到VSD文件中。我正在使用Visio 2013,它适用于此版本,但我有另一台客户端机器,我只有这个应用程序的exe(不完整的代码库),并在该客户端机器中有Visio 2010。当我运行应用程序并选择Visio .vsd文件时,它会抛出上述错误。
苦苦挣扎以了解exe,代码,版本或dll是否存在问题? 我可以知道可能是什么修复或一些解决方法? 我打开引发异常的visio应用程序的代码如下,
Microsoft.Office.Interop.Visio.Application application = new Microsoft.Office.Interop.Visio.Application();
application.Visible = true;
Microsoft.Office.Interop.Visio.Document doc = null;
OpenFileDialog filedg = new OpenFileDialog();
filedg.Title = "Select VSD template file";
filedg.InitialDirectory = @"c:\";
filedg.Filter = "All files (*.*)|*.*|All files (*.*)|*.*";
filedg.FilterIndex = 2;
filedg.RestoreDirectory = true;
if (filedg.ShowDialog() == DialogResult.OK)
{
LogMessageToFile("Opening Visio template");
if(application == null)
{
LogMessageToFile("Visio application is NULL");
return;
}
LogMessageToFile("Filename" + filedg.FileName);
doc = application.Documents.Open(filedg.FileName);
答案 0 :(得分:1)
“它适用于此版本,但我有另一台客户端机器,我只有这个应用程序的exe” -
根据我的经验,如果仅在多台计算机上发生这种情况,问题是您运行的EXE具有不足的私密性以使用InterOp或Visio本身。
尝试使用“以管理员身份运行”运行EXE。