VSTO功能区加载项访问资源文件

时间:2018-07-23 21:20:29

标签: vb.net ms-word vsto clickonce ribbon

我正在使用VB.net和Click-once部署创建功能区加载项。我有一个xml文件,该文件包含在我试图加载的包中(设置为Content and Always Always),以便在功能区上构建dynamicMenu项。在开发过程中在我的机器上运行时工作正常;但是,当功能区安装在另一台计算机上时,它找不到要加载的xml文件,并且菜单为空白。根据我在堆栈交换和网络上发现的内容,我尝试了许多不同的方法,但到目前为止,我一直没有成功。

我敢肯定这很简单,这是在办公室中阻止部署的最后一件事。

预先感谢

2 个答案:

答案 0 :(得分:0)

感谢您的回答-我似乎偶然发现了一个答案。

System.Deployment.Application.ApplicationDeployment.CurrentDeployment.DataDirectory

似乎提供标记为“内容”的任何数据文件的路径。部署到其他计算机时,它可以工作。

使用此路径我找不到任何已知问题,有人知道我应该知道吗?

答案 1 :(得分:0)

现有答案对我不起作用,但确实如此:

  //Get the assembly information
  System.Reflection.Assembly assemblyInfo = System.Reflection.Assembly.GetExecutingAssembly();

  //Location is where the assembly is run from 
  string assemblyLocation = assemblyInfo.Location;

  //CodeBase is the location of the ClickOnce deployment files
  Uri uriCodeBase = new Uri(assemblyInfo.CodeBase);
  string ClickOnceLocation = Path.GetDirectoryName(uriCodeBase.LocalPath.ToString());