2009-12-09 65 views
2

我有一個包含多個網站的C#解決方案。這些網站有一些公共數據(例如圖像和共享的jQuery擴展)。目前數據包含在每個項目中。顯然,我們遇到了同步問題,隨着這些數據目錄越來越大,我們正在移動越來越多的數據。我們可以將鏈接硬編碼到生產服務器上數據真正存在的位置,但我認爲我們希望避免這種情況(更不用說我們使用嵌入式cassini服務器進行測試了,我不知道這樣做有多順利會工作)。有沒有我忽視了一個便攜式和可維護的方式來做到這一點?如何添加需要在Visual Studio解決方案中的項目之間共享的靜態內容

澄清:需要共享位於目錄中的內容(即圖像/,JS /)

回答

4

您可以將這些文件添加到項目作爲鏈接的文件 - 這樣,並非物理複製到項目的目錄,但仍包含在項目中。您只需擔心維護一個文件夾的靜態內容的價值,並知道每當您構建解決方案時,您都將使用該文件夾中的版本。

要在Visual Studio中添加鏈接文件,請右鍵單擊該項目,點擊add-> existing file,然後在選擇文件對話框中點擊「添加」按鈕旁邊的小下拉箭頭並選擇「添加爲鏈接」。

+2

這是非常接近,但顯然你不能添加一個文件夾作爲一個鏈接。我對這個問題進行了澄清。抱歉。 – OldTroll

+0

您是否需要每個項目中的該文件夾中的每個文件?如果沒有,那麼只包括那個你需要的那個特定項目。 您是否會重新考慮將文件保留在項目之外並使用頁面中的鏈接?你說你想避免這樣做,因爲生產和開發之間的路徑可能不同,但是如果你使用像asp.net的Page.ResolveUrl()這樣的東西,你應該能夠解決這個問題。此外,如果您更改您的應用程序以使用路由表或以其他方式更改您的目錄結構,則該功能將起作用 –

0

最快的解決方案是在您的生產服務器上創建虛擬目錄以指向數據目錄的單個位置。

這將模仿包括您的各種解決方案中的數據目錄。

+0

與問題無關。 –

+0

@LeoCai這與問題有關,因爲它提出了一個解決方案,如何在部署方面解決這個問題,而不是在開發方面創建一個相當脆弱的解決方法。 – Filburt

1

我知道這個問題在幾年前被問過,但接受的答案似乎不再相關。

由於微軟推出了通用Windows商店應用程序,現在可以創建共享項目並在其他項目中引用它們,這與我們常用的參考類庫相同。

但是,此功能不支持所有項目類型的開箱即用。

您只需要安裝共享項目參考管理器,它可在Visual Studio庫中找到。共享項目將出現在添加新項目對話框中。

相關問題