2016-03-01 141 views
-1

我的结构像下面这样的画面:获取文件的路径从项目

enter image description here

我怎么能写我得到的路径将突出显示的其中之一是代码“ConenctionsList.xml “?

我想是这样的,但这带我去文件夹

this.XmlPlath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"ConnectionsList.XML"); 
+0

那些仍然去bin文件夹。 – Bohn

+0

是否只希望它在开发过程中工作(即从bin文件夹运行时)还是希望它在部署时也能正常工作? – hatchet

回答

1

,这是好事XmlPath点到bin文件夹,关键是要设置ConnectionList.xml在输出被复制。只需输入其属性并将Copy to Output设置为Always或更好 - If Newer

注意:想象一下,您的应用程序将被部署,并且您的项目或解决方案中的路径在部署位置没有意义。只有可执行文件(或某个程序集)的相对路径很重要(除非使用GAC注册或类似的东西)。

0

您需要知道该文件的绝对路径是在代码中引用它的。通过它驻留在Visual Studio中的位置引用它是不够的。通常情况下,如果您正在运行程序并希望读取某种配置文件,设计人员会将配置文件放在与可执行文件相同的位置,并使用各种方法进行引用,其中一种方法如下所示:

string filename = "ConnectionsList.xml"; 
string filePath = Path.Combine(Directory.GetCurrentDirectory(),filename); 

请参考下面的链接和Stack Overflow上的其他线程获取更多详细信息。这个一般性主题在许多地方都有涉及。

MSDN GetCurrentDirectory MSDN Path.Combine

相关问题