我將.NET 2.0 Winforms應用程序轉換爲ASP.NET MVC3。 Winforms解決方案爲業務邏輯使用多個項目,而MVC應用程序包含這些項目。這些項目也被各種Windows控制檯應用程序使用。跨Web和Winforms /控制檯解決方案共享項目的正確方法是什麼?
問題是這些項目使用System.Windows.Forms.Application.StartupPath
找到他們使用的文件,而對於web開發System.Web.HttpRunTime.AppDomainAppPath
被使用。
我寧願兩個解決方案都使用相同的項目,並且這些項目的修改儘可能少,因爲它們很大,很舊,而且相對沒有記錄。解決這個問題的正確方法是什麼?
現在我想我會創建一個新的配置,每個項目將定義WEB,然後使用#if/#else
語句包含正確的依賴關係並定義getPath()
方法的返回值。
具體來說,這些類將具有相同的代碼,但仍然能夠根據實例化它們而得到不同的結果? – user1 2013-03-05 21:52:12
但是你喜歡。最簡單的方法是在構造函數中傳遞區分符。 – 2013-03-05 21:57:44