簡體   English   中英

.NET c#:為什么Visual Studio希望我將文件放入c:\\…\\ myConsoleApplication \\ bin \\ Debug

[英].NET c#: Why does Visual studio expect me to put my files in c:\…\myConsoleApplication\bin\Debug

我是.NET編程的新手,嘗試加載位於項目根目錄中的xml文件時遇到以下異常。 有人可以向我解釋為什么該程序在bin文件夾中尋找我的文件嗎? 這是例外:

mscorlib.dll中發生了類型為'System.IO.FileNotFoundException'的未處理異常。其他信息:文件'c:\\ users \\ u957974 \\ documents \\ visual studio 2015 \\ Projects \\ XMLINQConsoleApplication \\ XMLINQConsoleApplication \\ bin \\ Debug \\ contacts.xml'找不到est。

這是我的項目的屏幕截圖

Visual Studio不知道您的應用程序需要該文件才能運行。 你必須告訴它。

為此,請在解決方案資源管理器中右鍵單擊該文件。 選擇“屬性”。

在“屬性”下,找到“復制到輸出目錄”,然后選擇“如果更新則復制”。

因為那是程序輸出的編譯位置。 生成的.exe文件(假設這是一個控制台應用程序)將在bin/Debug/生成。

如果要從項目的根目錄加載文件,請使用相對路徑,例如XElement.Load("../../contacts.xml")

從當前目錄解析相對文件路徑。 從Visual Studio運行應用程序時,當前目錄是應用程序目錄。

但是請注意,當前目錄可以通過一些操作(例如OpenFileDialog)隨時更改

Bin文件夾是您創建的任何.Net項目的工作目錄。Bin文件夾包含所有已編譯的程序集。 它具有項目正在使用的所有引用的Dll和資源。 由於您尚未指定Xml文件的路徑,因此它正在嘗試在當前目錄中找到它,因此是異常。

您可以嘗試指定路徑,例如:

Xelement Xmldoc =  XElement.Load("../../contacts.xml")

給這樣的道路

   Xelement Xmldoc = Xelement.Load("~/COntracts.xml");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM