2009-10-10 65 views
2

我們目前有一個asp.net網站,在VB.Net中開發了一些模塊&一些在C#中(不僅僅是類,還包括單獨的aspx頁面和後面的代碼) 。我們認爲我們想要轉向Web應用程序模型,因爲我們需要使用TFS實現CI。asp.net web應用程序與c#&vb.net都在代碼隱藏

問題:

當我們創建一個C#的Web應用程序,將文件從網站複製&說轉換爲Web應用程序它給Could not Parse errors(可能是因爲文件是vb.net文件)

當我們創建一個VB.NET Web應用程序,複製&說轉換爲Web應用程序將其轉換隻vb.net頁&上發佈拋出錯誤在所有C#頁說Could not load type

的asp.net網站將W上的文件正確使用多種代碼隱藏語言支持。

幫助將不勝感激!

+1

當你有一個網站時,它的工作原因是因爲代碼沒有被編譯,直到它被需要,然後每個頁面將被單獨編譯。使用一個Web應用程序,整個事情被編譯成一個DLL,並且你不能在一個DLL中混合使用語言。 – ChrisF 2009-10-10 16:53:26

+0

我意識到投資已經完成,但爲什麼要使用兩種語言?這看起來像是一場噩夢。 – NerdFury 2009-10-12 15:44:59

+0

這將是超級有用的。我們很想轉移到一個web應用程序項目,但我們通常是vb,有很多c#頁面隱藏着。 @NerdFury:兩個原因:1.來自互聯網的源碼,如SqlProfileProvider,Blog,論壇代碼。 2.開發人員想要使用新的語言功能,從其他地方複製/粘貼代碼(我們的大部分源代碼都是vb,但是有相當數量的新c#),並且不需要維護 - .net開發人員不需要通常很難讀/寫vb和c#IME。 – 2012-12-06 09:21:57

回答

0

把所有東西包含的C#代碼App_Code文件夾名稱爲​​部分在你的web.config

附:這是如何完成的DotNetNuke

+0

如何處理個別的aspx頁面,其中一些代碼是vb.net,一些是c#? – hadi 2009-10-10 08:24:39

+0

哇...你必須解決這個問題,你不能只是交換這樣的語言 – 2009-10-10 08:39:49

+0

它是一個很好的時候,它是一個asp.net網站。不在asp.net web應用程序中工作。我可以通過哪種方式使其工作,而無需重新編碼我的整個代碼以匹配語言? – hadi 2009-10-10 08:59:23

3

您可以將應用程序分成兩個獨立的Web應用程序,它們從相同的根目錄運行?只要將編譯好的C#dll與編譯後的VB.net dll一起放入bin中,並將所有aspx頁面放在需要用於網站結構的任何位置。

我沒有嘗試過這個,但它應該工作。您將不得不創建一個單獨的項目並引用任何數據層等。只需將C#代碼移動到新的應用程序中,然後看看結果如何。不是最好的解決方案,但它會跳動從一種語言轉換爲另一種語言。

+0

謝謝布倫特,你的解決方案的作品。 – esegura 2012-12-12 21:34:38

+0

只需添加一些有關我的工作的更多信息:兩個Web應用程序項目(一個用於vb,一個用於c#)。讓一個項目成爲您的「主要」 - 爲您的項目創建一個項目參考。創建一個後期製作活動,以便將您的輔助項目位置中的所有.aspx複製到主要位置。這應該讓你進入一個好地方。 – Matt 2016-02-24 22:37:45

0

您可以使用網站但不使用網絡應用程序。另外請注意,如果您想要或需要這樣做,Web應用程序確實沒有任何網站缺乏的額外功能。 Web應用程序在某些環境中可以具有部署優勢,但Visual Studio 2010和2012將輕鬆發佈asp.net網站和Web應用程序。

相關問題