在另一個項目中,我想指向我的項目的App_Data文件夾中的一個文件。所以在Web.Config中我添加了這個。如何在Visual Studio中獲取另一個項目的路徑?
<appSettings>
<add key="filePath" value= "App_Data/MyFile.xml" />
</appSettings>
然後在我的控制器中,我用它來訪問文件。
string relativePath = ConfigurationManager.AppSettings["filePath"];
string xmlData = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, relativePath);
那偉大工程,但現在,我需要在另一個項目中的文件,在同一個解決方案。
BaseDirectory指向我目前所在的項目文件夾。我能做些什麼來從那裏獲得一個級別?有沒有一種方法可以讓我找到解決方案的路徑?
更多信息
更清楚,我想從我的web應用程序打開控制檯應用程序。現在我正在調用一個控制器,它可以像這樣獲得硬編碼路徑。我需要這條路纔是相對的。
Process process = new Process();
//Path of the file
process.StartInfo.FileName = "C:\\Users\\MyName\\Documents\\Visual Studio 2015\\Projects\\SolutionName\\ConsoleApp\\bin\\Debug\\ConsoleApp.exe";
process.Start();
UPDATE
而不是去到另一個項目,我只是改變了控制檯應用程序的Web應用程序項目的bin/Debug文件夾的輸出路徑。這樣我可以留在相同的項目文件夾中,並使用之前使用過的相同路徑的東西來訪問控制檯應用程序。
不知道我得到這個。我在我的問題中添加了一些額外的信息。我試圖去的文件是一個exe文件,所以我不認爲這是可用於複製到輸出目錄設置。不太熟悉這個過程。 – madvora
你是否絕對*確定你需要調用控制檯應用程序?你不能只用它的接口並調用一些方法嗎?這很奇怪......特別是如果我的水晶球是正確的,你所稱的是解決方案中的另一個項目。我這樣的情況可能足以將[reference](https://msdn.microsoft.com/en-us/library/f3st0d45.aspx)添加到項目並直接調用它。 – Matyas
是的,我需要調用控制檯應用程序。基本上這是一個編碼練習。我只是證明我可以從Home/Index頁面調用web api(點擊按鈕)然後點擊另一個按鈕打開我的控制檯應用程序,它調用相同的web api。如果你可以在最後解釋你的參考評論,我將不勝感激,或任何解決方案,打開我的控制檯應用程序exe按鈕點擊一個網頁(相同的解決方案,不同的項目) – madvora