2017-02-19 60 views
1

我通過將.net核心項目中的某些文件包含在項目中,將構建操作設置爲「內容」並設置爲「始終複製」並希望參考來自項目的文件。在.Net框架中,諸如「foo.zip」的相對路徑將引用複製到輸出目錄的文件。但是,該文件複製到項目目錄中,而不是與DLL的輸出目錄。例如。 foo.zip將與源文件放在一起,而輸出的dll將是「bin/Debug | Release/netcoreapp1.0」。在代碼中使用相對路徑「foo.zip」是指路徑「C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Community \ Common7 \ IDE \ foo.zip」核心中當前的project.json路徑

這是打算?如果是這樣,有沒有辦法可以訪問輸出的目錄?我找到的最接近的是AppContext.BaseDirectory,它指的是netcoreapp1.0目錄,但在項目「發佈」時不起作用

更新:經過一些實驗後,內容的構建操作負責複製文件到源代碼目錄看起來很奇怪。將其設置爲「無」按預期執行,並將文件複製到輸出目錄。該路徑是否按預期指向IDE目錄?

+0

等待兩週.. vs2017 RC將殺死這個問題。 – Thomas

回答

0

你會想用他publishOptions在project.json部分包括在輸出文件:

"publishOptions": { 
    "include": "foo.zip" 
}, 

文件應該然後是在運行時相同的相對位置,因爲它是當你正在編寫代碼。

0

更新:經過一番實驗,內容的生成操作是 負責將文件複製到這似乎 奇源目錄。將其設置爲「無」按預期執行,並將文件 複製到輸出目錄。此路徑指向IDE目錄,預期爲 ?

事實上,將內容複製到源代碼文件的構建操作是可行和有用的。例如,當你正在深化發展與MVC網站,它是常見的,你的看法(.cshtml文件)位於查看目錄中的源目錄中,旁邊控制器模型目錄。

現在,您正在從Visual Studio運行Web應用程序,而您只是想更改HTML頁面中的一些文本。您可以簡單地編輯在Visual Studio下的.cshtml文件並保存。 在Web瀏覽器中刷新頁面後,您的更改將直接出現。無需再次編譯和啓動Web應用程序,這在Web開發中節省了大量時間。