ОБНОВЛЕНИЕ: Все эти проблемы были для преобразования приложения веб-сайта в веб-проект в Visual Studio. Как только я закопался и нашел решение, я пометил ответ ниже.
По сути, если вы хотите обновить / переместить проект вашего веб-сайта в веб-проект, вы столкнетесь с рядом ошибок. Краткое руководство в ответе ниже. Спасибо всем за комментарии и помощь.
Старый вопрос и название ниже:
Как обернуть пространство имен xx {} во все файлы классов?
Как бы вы обернули пространство имен во все файлы кода позади веб-проекта (или любого проекта)?
namespace MyDomain
{
// regular code here
}
Короче говоря ...
Я конвертировал проект, который был передан за границу. Более 20000 файлов в одном только «веб-проекте» для такого простого сайта (качает головой). Он был написан в vs2005 с использованием VB.NET и C # (да, оба компиляции). Первоначально это был веб-сайт. Я преобразовал его в веб-приложение, в основном из-за 8000 временных сборок, которые создаются при публикации.
Хорошо, я конвертирую в VS2008. Я преобразовал весь код в C #. Выглядит хорошо. Я перенес весь специальный код App_Code / VB и C # в отдельные сборки.
Теперь, когда я пытаюсь снова скомпилировать, меня предупреждают об огромном количестве ошибок. Я исправляю их, оборачивая файлы кода в заданном пространстве имен и обновляя usercontrol для использования нового пространства имен.
Но ... осталось более 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.
Ошибка в том, что файл codebehind не может найти ссылку на используемый элемент управления. Такие как:
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" %>