我的解决方案中有两个项目,项目A有项目B的引用。项目A调用项目B中的一个函数,它应该加载项目B中的文档:
return XDocument.Load(@"Mock\myDoc.html");
问题是 XDocument.Load
正在使用项目A的路径(没有Mock\myDoc.html
)。
我尝试过使用
string curDir = Directory.GetCurrentDirectory();
var path = String.Format("file:///{0}/Mock/myDoc.html", curDir);
但这也为我提供了ProjectA\Mock\myDoc.html
的路径,而应该是ProjectB\Mock\myDoc.html
。我错过了什么?
编辑“复制到输出”,文件“myDoc.html”设置为“始终复制”,文件在项目B 。
答案 0 :(得分:8)
在运行时,您的所有代码只有一个当前工作目录。您必须导航到解决方案目录,然后返回到另一个项目。
string solutiondir = Directory.GetParent(
Directory.GetCurrentDirectory()).Parent.FullName;
// may need to go one directory higher for solution directory
return XDocument.Load(solutiondir + "\\" + ProjectBName + "\\Mock\\myDoc.html");
答案 1 :(得分:-1)
暂时更新应用程序当前目录:
let notification = UILocalNotification()
notification.fireDate = targetDate
notification.timeZone = NSTimeZone.localTimeZone()
notification.applicationIconBadgeNumber = 1
notification.alertAction = "do a task"
notification.alertBody = "New task is waiting for you!"
notification.soundName = UILocalNotificationDefaultSoundName
UIApplication.sharedApplication().scheduleLocalNotification(notification)
如果您的目录体系结构允许,您可以从ProjectA当前目录或.exe目录(即Application.StartupPath)推断出projectB目录。
答案 2 :(得分:-2)
如果您的文件在项目B中,那么您应该编写实际在B中访问它们的函数。现在项目A只需要处理简单的调用。