2010-05-11 94 views
3

我有一個ASP.NET網站項目,它曾經在App_Code文件夾中擁有它的邏輯。我將一些代碼拉入了一個類庫項目(以允許單元測試)並添加了一個Project Reference。它編譯和運行良好。網站項目,項目引用和版本控制

問題是,網站項目代表項目引用(據我所知)的唯一方法是通過在/ bin目錄中編譯的dll的存在。我不想將這些生成的文件包含在版本控制(Subversion)中。將文件添加到SVN忽略列表 - 正如我通常對/ bin dll所做的 - 不是一種選擇,因爲我失去了項目引用。

因此,的問題:有沒有辦法在Web站點項目中維護項目引用,而不是將dll放在/ bin目錄中?

如果不是,我打算將類庫移到它自己的解決方案中並使用.refresh文件。由於項目總是會一起進行,這不是我的偏好。

+3

你找到更多的理由不使用網站項目。 Web應用程序項目沒有這些問題。 – 2010-05-11 16:48:40

+0

是的,原因是堆積如山。不幸的是,這個項目有點混亂。我試圖轉換幾次,放棄建立它。將代碼拉入類庫是實現轉換的第一步。 – Jerph 2010-05-11 16:53:10

+0

您是否找到解決此問題的解決方案?你可以添加它作爲答案?我有一個類似的問題。我無法控制從網站轉換爲網絡應用程序的應用程序。想從Subversion中排除bin。 – Becky 2011-06-17 22:55:53

回答

0

您可以嘗試創建一個空的Visual Studio解決方案,然後添加網站項目以及您創建的類庫的新項目。這是一箇中途的房子,你可以可以有解決方案編譯來檢查一切正常,但你並不需要。所以你保持網站的輕鬆風格,但有能力關聯項目。

然後,您可以將類庫項目保留在同一個存儲庫中,並繼續從網站的bin中排除已編譯的dll。如果你讓你的類庫把dll的一個副本放在回購站根目錄下的'libs'文件夾中,那麼你可以從那裏引用它到你的網站。然後

你的文件夾結構會是這樣的 - YourProject - 網站 - 你的類庫 - 庫(第三方庫,包括您的類庫) - 測試 - 還有什麼

0

我相信這些參考資料會保存在解決方案文件中。

對於網站有在解決方案文件中的部分如下:

Project("{GUID}") = "WebsiteName", "WebsiteName", "GUID" 
    ProjectSection(WebsiteProperties) = preProject 
     .... removed for brevity ... 
     ProjectReferences = "{GUID OF REFERENCED PROJECTS}|ProjectName.dll" 
     .... removed for brevity ... 
    EndProjectSection 
EndProject 

希望這有助於

相關問題