プロジェクトを Visual Studio 2003 から 2008 にアップグレードしていて、ファイルを自動的に生成XXX.Designer.cs
し、対応する元のファイルを更新したいと考えていますXXX.cs
。
それを行う自動方法はありますか?
更新: WinForms について言及しています。もちろん、古いスタイルが機能することは知っていますが、手動で行うことなく新しいスタイルに移行する方法を探しています。
プロジェクトを Visual Studio 2003 から 2008 にアップグレードしていて、ファイルを自動的に生成XXX.Designer.cs
し、対応する元のファイルを更新したいと考えていますXXX.cs
。
それを行う自動方法はありますか?
更新: WinForms について言及しています。もちろん、古いスタイルが機能することは知っていますが、手動で行うことなく新しいスタイルに移行する方法を探しています。
これを行うマクロが浮かんでいます。私はそれを使用しましたが、うまく機能します。まず、Nathan Jones のブログをご覧ください。うまくいかない場合は、 VSCONVERT - PasteBinからマクロ ソース (私が投稿したもの) の zip をダウンロードしてください。
この問題が発生しました。
基本的に、デザイナーファイルには、オブジェクト宣言のセット(つまり、フォーム上のオブジェクト)とInitializeComponent()呼び出しだけが含まれている必要があります。コンストラクターで凝った作業をしたことがある場合は、そこにもある可能性があります。
MyForm.Designer.csというファイルを作成し、プロジェクトに追加するだけです。VS2008は、自動的にMyForm.csの下に配置します。そこから、部分的なクラス見出しと名前空間を作成し、すべての宣言とInitializecomponent呼び出しをデザイナーファイルにコピーすると、機能します。
ただし、必要に応じて、initializecomponentを編集し、デフォルトのコンストラクターも編集するため、VS2005および2008は、あらゆる種類の奇妙なことが発生する可能性があるため、これらのファイルを自動的にアップグレードできませんでした。プロジェクトの観点からすると、作業コードは分離によってどのようなメリットが得られると思いますか?
Visual Studio デザイナを使用しても、元のクラスは引き続き機能します。VS がデザイナー クラスに配置するコードは、単にデザイナーの「ノイズ」を別のファイルに取り除くことを目的としているため、クラス内の非ビジュアル コードに集中できます。
ウィザードを使用してプロジェクトを VS2008 に移行すると、VS でフォームを開いて、以前と同じように編集を続けることができます。作成する新しいフォームはすべて、Designer バッカー ファイルを取得します。
よくわかりませんが、推測してみます。
これは VS2003 の ASP.NET プロジェクトでしたか? その中に .Designer.cs ファイルがありましたか? アップグレードを行ったのに、.Designer.cs ファイルがないことに気付いたということですか?
その場合、Web アプリケーション プロジェクトを誤って Web サイトの「プロジェクト」に変更した可能性があります。この種の「プロジェクト」は VS2005 で導入されたので、まだ見たことがないでしょう。これらは実際のプロジェクトではなく (.csproj ファイルではありません)、他にも多くの違いがあります。
それ以外の場合、プロジェクトに .Designer.cs ファイルがなかった場合、なぜ今それらが必要なのですか?
一般に、デザイナー ファイルを作成する方法は、デザイナーでファイルを開き、デザイナーが行っていること (画面の更新など) が完了するまでしばらく待ちます。そしてファイルを保存します。デザイナーに再評価してもらうために、オリジナルに「触れる」必要があるかもしれません。