解决DataDirectory路径问题

公司在做一个WPF项目,在开发调试的时候本地运行,在生产环境中以ClickOnce方式运行。问题是在一个数据库的连接字符串上,"……Data Source=|DataDirectory|\数据库文件……",在本地运行时|DataDirectory|指向程序目录,而在ClickOnce方式下指向程序目录下的Data目录。

要解决此问题,必须要知道系统如何解析|DataDirectory|,经查阅是通过AppDomain.CurrentDomain.GetData("DataDirectory")来解析的,有了根源后,在WPF的App构造方法中加入代码AppDomain.CurrentDomain.SetData("DataDirectory")=AppDomain.CurrentDomain.BaseDirectory;运行本地程序和ClickOnce均正常。

你可能感兴趣的:(解决DataDirectory路径问题)