更新:これらの問題はすべて、WebサイトアプリケーションをVisualStudioでWebプロジェクトに変換するためのものでした。掘り下げて解決策を見つけたら、以下の答えとしてマークしました。
基本的に、WebサイトプロジェクトをWebプロジェクトにアップグレード/移動する場合は、いくつかのエラーが発生します。簡単なハウツーは以下の答えにあります。コメントと助けてくれてありがとう。
古い質問とタイトルは以下のとおりです。
名前空間xx{}をすべてのクラスファイルにラップする方法は?
Webプロジェクト(または任意のプロジェクト)内のすべての分離コードファイルに名前空間をどのようにラップしますか?
namespace MyDomain
{
// regular code here
}
短編小説...
海外に委託したプロジェクトを改造しています。このような単純なWebサイト(首を横に振る)の場合、「web」プロジェクトだけで20,000を超えるファイル。これは、vs2005でVB.NETとC#を使用して作成されました(はい、両方ともコンパイルされています)。もともとはウェブサイトのアプリケーションでした。主に、公開時に生成される8,000の「一時」アセンブリのために、これをWebアプリケーションに変換しました。
はい、VS2008に変換しています。すべてのコードをC#に変換しました。いいね。すべての特別なApp_Code/VBおよびC#コードを個別のアセンブリに取り込みました。
もう一度コンパイルしようとすると、膨大な数のエラーが表示されます。コードビハインドファイルを名前空間でラップし、新しい名前空間を使用するようにユーザーコントロールを更新することで、これらを修正します。
しかし...残り5000以上のエラー...助けて!
代替テキスト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" %>