2011-06-02 168 views
5

標題並沒有完全描述實際的問題,因爲我試圖將一個簡潔的描述放入一行內容中。如何在不同解決方案之間共享相同的Visual Studio項目?不同的app.config和setttings.settings

我有一個C#項目,我想在兩個不同的解決方案(.sln)之間共享。該項目是一個Main方法的應用程序。它需要使用settings.settings和app.config。這兩種解決方案都需要引用相同的C#項目,但對於每種解決方案,app.config和settings.settings都需要特定於其解決方案。因此,如果項目C在解決方案A和B之間共享,則A包含C,其中C具有特定於A的app.config,而B包含完全相同的C項目,但C具有特定於C的app.config。有沒有辦法做這個?我試圖避免將同一個項目(即C)複製到兩個不同的位置,因爲如果我在一個解決方案中更新該項目,那麼我必須在另一個解決方案中進行相同的更改。

感謝

回答

2

我想共享的項目實際上是在兩個不同的源代碼管理位置之間共享的。我想在SVN服務器解決方案和TFS服務器解決方案之間共享相同的項目(即C)。我想出了一個解決方案(也適用於多個共享項目)的解決方案是將app.config從位於共享項目目錄上方的目錄/分支中鏈接。因此,不是使用位於項目C目錄中的app.config,而是使用2個不同的工作區,而在項目C的目錄上方有一個名爲ApplicationSettings的文件夾,其中包含app.config文件。每個工作區對於每種不同的解決方案都可以維護自己的ApplicatonSettings文件夾,但可以從源代碼管理中保持共享項目的完全相同副本。

我在CodePlex上的一個項目: http://wcfsilverlighthelper.codeplex.com/

這就是我的意思工作的例子。查看ApplicationSettings文件夾,並注意解決方案的T4項目中如何使用app.config文件。

+0

我現在面臨很多相同的問題原來的海報,和您的解決方案聽起來不錯。你介意發佈你的App.Config文件的一部分,說明你如何做鏈接? – estanford 2011-06-16 15:16:05

+0

@estanford,我必須託管在CodePlex上,在一個項目: http://wcfsilverlighthelper.codeplex.com/ 這就是我的意思在這裏一個完整的示例和應用。下載源代碼,並期待在的applicationSettings文件夾,然後看看怎麼在app.config,在的csproj settings.settings文件在項目目錄鏈接,而不是實際。 – 2011-06-17 00:38:03

3

也許你可以使用的Open...()方法之一ConfigurationManager實現這一目標。否則,下面的破解可以工作(除了需要複製整個App.config文件):在A中創建一個最小控制檯應用程序D1,並在B中創建D2,然後從這裏調用C的main()方法,並使用D1和D2作爲啓動項目。現在,將使用D1和D2的App.config替代C的App.config。

+0

由於這是一個好主意來考慮,我也想出了另一個我會發布。 – 2011-06-02 14:19:52

相關問題