更新:所有這些問題都是爲了將網站應用程序轉換爲Visual Studio中的Web項目。一旦我挖了,我找到了解決方案,正如我在下面標記爲答案。C#:如何將網站項目轉換爲Web項目
基本上,如果您要將您的網站項目升級/移動到Web項目,您將遇到許多錯誤。下面的答案是簡短的方法。謝謝大家的意見和幫助。
老問題和標題低於:
如何包裝命名空間XX {}所有的類文件?
如何將命名空間封裝到webproject(或任何項目)中的所有代碼隱藏文件?
namespace MyDomain
{
// regular code here
}
長話短說...
我一直在轉換這是海外外包項目。僅在'web'項目中就有超過20,000個文件,用於這樣一個簡單的網站(搖頭)。它是使用VB.NET和C#編寫的vs2005(是的,兩個complilations)。它最初是一個網站應用程序。我已將其轉換爲Web應用程序,主要是因爲您發佈時生成的8,000個「臨時」程序集。
好吧,我轉換到VS2008。我已將所有代碼轉換爲C#。看起來不錯。我已將所有特殊的App_Code/VB和C#代碼引入獨立程序集。
現在,當我嘗試重新編譯時,我會收到大量錯誤的警報。我通過將代碼隱藏文件包裝到名稱空間中,並更新usercontrol以使用新的名稱空間來解決這些問題。
但是... 5000+錯誤去...幫助!
alt text http://eduncan911.com/blog/thumbnail/4-15-2009.6-00-13.PM.png
也許有另一種方式?以下是代碼隱藏的示例代碼片段:
public partial class MyHomepage_MyStuff_MyPosts : SecurePage
{ ... }
請注意類名MyHomepage_MyStuff_MyPosts。這是/MyHomepage/MyStuff/MyPosts.aspx文件位置的目錄路徑。
錯誤是代碼隱藏文件無法找到正在使用的控件的引用。如:
ctl_website_rpt.RowCount = _totalCount;
這是一個控制(其命名約定)名爲「ctl_website_rpt」 ASPX文件內。 aspx頁面在標題中有:
<%@ Page Title="My Posts" Language="C#"
MasterPageFile="~/MasterPages/Main.master" AutoEventWireup="true"
CodeFile="MyPosts.aspx.cs"
Inherits="MyHomepage_MyStuff_MyPosts" %>
也許有一種方法可以在其他地方引用此頁?沒有改變它的命名空間?
namespace Website.MyHomepage.MyStuff
{
public partial class MyPosts
{ ... }
}
<%@ Page Title="My Posts" Language="C#"
MasterPageFile="~/MasterPages/Main.master" AutoEventWireup="true"
CodeFile="MyPosts.aspx.cs"
Inherits="Website.MyHomepage.MyStuff.MyPosts" %>
這是一個想法。希望在另一個解決方案(更詳細地更新問題)。 – eduncan911 2009-04-15 22:21:12