更新:これらの問題はすべて、WebサイトアプリケーションをVisual StudioのWebプロジェクトに変換するためのものです。一度私が掘って、私は解決策を見つけた、私は以下の答えとしてマーク。C#:WebプロジェクトをWebプロジェクトに変換する方法
ウェブプロジェクトをWebプロジェクトにアップグレード/移動したい場合、基本的にいくつかのエラーが発生します。短いハウツーは以下の答えにあります。コメントありがとうございました。
旧質問とタイトルは以下の通りです:
すべてのクラスファイルに名前空間xxを{}ラップする方法は?
Webプロジェクト(または任意のプロジェクト)のすべてのコードビハインドファイルに名前空間をラップするにはどうすればよいですか?
namespace MyDomain
{
// regular code here
}
かいつまんで...
私は海外に外部委託されたプロジェクトを変換されています。このようなシンプルなWebサイト(shakes head)のために、「Web」プロジェクトだけで20,000を超えるファイル。これは、VB.NETとC#を使用してvs2005で書かれました(はい、両方の複雑さ)。もともとはウェブサイトのアプリケーションでした。私はそれをWebアプリケーションに変換しました。これは主に、公開時に生成される8,000の "temp"アセンブリのためです。
いいえ、私は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;
これは、ASPXファイル内の「ctl_website_rpt」という名前のコントロールです。 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