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