在VSTO Excel中添加代码:
Dim XMLDoc As XElement = XElement.Load("XMLFile1.xml")
Run Code Online (Sandbox Code Playgroud)
产生FileNotFound误差的消息(" 找不到文件'C:\用户\道格\文档\ XMLFile1.xml’. ")这是看在我的文档文件夹,但在XML文件位于VS项目文件夹为该项目.我已将XML文件的"复制到输出目录"属性设置为"始终复制".当我更改代码以包含XML文件的完整路径时,代码可以正常工作.
此外,如果我在Windows控制台或其他类型的项目中包含上述代码,它将正确运行.我只是在Excel Addin中获取它.以上适用于VSTO 2008/Excel 2003和VSTO 2010/Excel 2010.
Joã*_*elo 13
使用相对路径时,使用当前目录(Environment.CurrentDirectory)来解析该路径.对于VSTO加载项,它会自动设置为用户文档文件夹.但是,对于控制台应用程序,该值设置为与可执行文件相同的文件夹,这就是您遇到不同行为的原因.
如果您的文件将部署到与VSTO加载项程序集相同的文件夹,则可以使用(AppDomain.CurrentDomain.BaseDirectory)来构建文件的完整路径.
例如,在C#中:
string filename = "XMLFile1.xml";
string path = Path.Combine(
AppDomain.CurrentDomain.BaseDirectory,
filename);
XElement.Load(path);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2315 次 |
| 最近记录: |