2009-04-17 31 views
9

我正在將項目從Visual Studio 2003升級到2008,並希望自動生成XXX.Designer.cs文件並更新相應的XXX.cs原始文件。如何自動將VS2003類轉換爲部分Designer.cs文件?

任何自動的方式來做到這一點?

UPDATE:我指的是WinForms。當然,我知道舊風格的作品,但我正在尋找一種不用手工去新風格的方式。

+0

下載宏源(我發佈)的zip文件我看不到你說的這個是ASP.NET項目還是Windows Forms項目。請說明。 – 2009-04-18 00:30:53

+2

更多的答案在http://stackoverflow.com/questions/669540/split-old-net-code-into-designer-partial-class – reinierpost 2009-09-23 07:48:25

回答

0

我不確定我是否理解,但我會猜測。

這是VS2003中的ASP.NET項目嗎?它有.Designer.cs文件嗎?您是否已經完成升級,但是您發現現在沒有.Designer.cs文件?

如果是這樣 - 您可能會無意中將您的Web應用程序項目更改爲網站「項目」。這種「項目」是在VS2005中引入的,所以你現在還沒有看到它。這些不是真正的項目(沒有.csproj文件),而且它們還有很多其他的區別。

否則,如果您的項目沒有使用.Designer.cs文件,那麼您爲什麼要現在呢?

一般來說,創建設計器文件的方法是在設計器中打開文件,稍等片刻讓設計人員完成它正在做的事情(更新屏幕等);然後保存該文件。您可能必須「觸摸」原始設計才能讓設計師重新評估。

+2

VS2003沒有.designer.cs文件,因爲.net 1.1沒有支持部分類。所以它只是把隱藏在代碼隱藏區域內的控制聲明。 FerranB正在尋求一種自動化的方式將這些聲明轉移到設計器文件中。 – 2009-04-18 00:08:26

1

即使使用Visual Studio設計器,原始類也將繼續工作。 VS放在Designer類中的代碼只是爲了將設計器的「噪聲」移除到一個單獨的文件中,以便您可以專注於類中的非可視代碼。

一旦您使用嚮導將項目遷移到VS2008,您可以在VS中打開您的窗體並繼續編輯它們,就像以前一樣。您創建的任何新表單都將獲得Designer支持程序文件。

1

我們有這個問題。

基本上,設計器文件應該只包含一組對象聲明(即窗體上的對象)和InitializeComponent()調用。如果你在你的構造函數上做過任何可能存在的奇特工作。

只需創建一個名爲MyForm.Designer.cs的文件並將其添加到項目中即可。 VS2008會自動將它放在MyForm.cs的下面。從那裏,如果您創建了部分類標題和名稱空間,然後將所有聲明和Initializecomponent調用複製到設計器文件中,那麼它將起作用。

但是,因爲如果你不得不,人們會編輯initializecomponent並編輯默認的構造函數,VS2005和2008無法自動升級這些文件,因爲可能會發生各種奇怪的事情。我想從項目角度來看,你認爲你的工作代碼將從分離中獲得什麼好處?

相關問題