Укажите отдельные веб-приложения в рамках одного решения — Visual Studio 2012

У меня есть веб-решение Visual Studio ASP.Net. На нашем действующем веб-сайте IIS используется для дифференциации нескольких различных приложений в рамках одного решения. Там он работает без проблем, но когда я открываю все решение с помощью Visual Studio, некоторые части не могут быть найдены.

См. примерную структуру ниже... Если я работаю над чем-то в «Приложении 2», оно не распознает код в этой папке «App_Code», потому что вместо этого просматривает мою корневую папку «App_Code». Мой вопрос: есть ли способ управлять несколькими веб-приложениями в рамках одного решения в Visual Studio?

Пример структуры:

Root - Main Application
  App_Code
  App_Data
  Folder 1
  Folder 2
  Folder 3
  web.config
  Application 2
     App_Code
     App_Data
     Folder Inside
     Another folder
     web.config
  Application 3
     App_Code
     App_Data
     Folder 1
     Folder 2
     web.config

person jpsnow72    schedule 15.05.2013    source источник
comment
у вас есть отдельные пространства имен для каждого проекта?   -  person Alexan    schedule 15.05.2013
comment
а почему приложение 2 и 3 внутри основного приложения? Думаю, они должны быть на одном уровне.   -  person Alexan    schedule 15.05.2013
comment
Это один проект и только одно пространство имен. В одном проекте несколько приложений. Так как это уникальные приложения, у них есть свои директории (App_Code и App_Data) и web.configs   -  person jpsnow72    schedule 15.05.2013


Ответы (1)


Каждое решение VS может иметь несколько проектов, поэтому... вы можете просто добавить каждое приложение в качестве проекта в свое решение.

Один из способов сделать это:

  1. Создайте новое решение BLANK/EMPTY
  2. Щелкните правой кнопкой мыши имя решения и выберите «Добавить > Существующий веб-сайт» и выберите корневую папку.
  3. Повторите шаг 2, но на этот раз выберите папку "Приложение 2"... сделайте то же самое для всех проектов.

В конце у вас получится что-то вроде:

- SOLUTION
+- Root
+- Application 1
+- Application 2

Надеюсь, поможет.

person Daniel    schedule 15.05.2013
comment
Спасибо за решение. В настоящее время у меня есть решение, настроенное с помощью Team Foundation в качестве решения для управления версиями. Интересно, могу ли я сделать текущие папки отдельными проектами, не создавая нового решения. - person jpsnow72; 15.05.2013
comment
Я не эксперт по TFS... но я уверен, что вы можете добавить более одного решения/проекта в свою TFS. stackoverflow.com/questions/10902951 / - person Daniel; 15.05.2013
comment
просто добавьте новые проекты в свое решение и переместите туда свои приложения. - person Alexan; 15.05.2013
comment
Если я сделаю это и скажу, что приложение 2 содержит html-ссылку на какой-либо файл в корневом приложении, пример: /somefile.pdf, найдет ли оно его? или новый корень будет каталогом приложения 2? Извините за простой вопрос, просто пытаюсь понять, как это работает. - person jpsnow72; 15.05.2013
comment
каждое приложение имеет свой виртуальный каталог? - person Alexan; 15.05.2013
comment
И да и нет. На вашем сервере файл /somefile.pdf будет найден без проблем, поскольку настройки IIS не изменились. На вашем компьютере для разработки, если вы используете IIS Express (с настройками по умолчанию), /somefile.pdf будет искать не в том, что вы ожидаете, чтобы быть папкой ROOT, а в корне папки вашего приложения (в IIS Express каждое приложение имеет уникальный порт). Вы можете вручную изменить настройки IIS Express, чтобы разрешить несколько приложений по одному и тому же URL-адресу. Если вы используете экземпляр IIS на локальном компьютере, он должен работать в зависимости от того, как вы его настроили. - person Daniel; 15.05.2013