4

У меня есть проект ASP.NET MVC2 в VS2010, который может быть развернут в двух режимах: автономный или плагин. В автономном режиме представления должны находиться вне скомпилированной сборки в виде файлов .aspx (настройка по умолчанию). В режиме плагина представления переключаются (в настоящее время вручную) на встроенные ресурсы, и вся сборка удаляется в папку проекта хоста.Условно внедрить ASP.NET MVC2 Представления как ресурсы во время сборки в Visual Studio 2010

В настоящее время для этого требуется, чтобы разработчик прошел через каждый вид и переключил его с «Действия сборки»: «Содержимое» на «Встроенный ресурс» и наоборот. Я хотел бы создать новую конфигурацию решения, чтобы автоматически захватывать все .aspx-файлы и создавать их как ресурсы.

Это SO post похоже на решение, но я бы предпочел, чтобы не редактировал .csproj каждый раз, когда я добавляю новое представление в проект. Есть ли способ использовать дикие карты или какой-либо другой пакетный/глобальный условный оператор для изменения ресурсов из контента во встроенный?

+1

Я не знаю, как это сделать в графическом интерфейсе. Мне кажется, что сообщение, о котором вы упоминаете, - это путь. 1 дополнительная минута или около того для каждого вида не является высокой ценой за возможность переключения на время сборки. –

+0

Я не против редактирования вручную .csproj, я просто надеялся на способ сделать это глобально - не для экономии времени, а для уменьшения ошибок развертывания из-за «Я забыл!». моменты. – jslatts

ответ

3

Ну, иногда я должен экспериментировать перед отправкой.

Я изменил мой файл .csproj и просто пошел вперед и попытался джокера:

Views\*\*.aspx 

... и он работал большой. Я разместил фрагмент моего реконфигурированного файла проекта ниже. Одно замечание: добавление нового представления помещает его в категорию «всегда содержимого» в верхней части фрагмента ниже. Вы можете жить с наличием .aspx-файлов, даже если представления встроены в качестве ресурсов (это не проблема для меня), или вы можете перемещать их из первой ItemGroup ниже в раздел «Иначе» каждый раз вручную.

<ItemGroup>        <-- Always included as content 
    <Content Include="Global.asax" /> 
    <Content Include="Web.config"> 
     <SubType>Designer</SubType> 
    </Content> 
    <Content Include="Web.Debug.config"> 
     <DependentUpon>Web.config</DependentUpon> 
    </Content> 
    <Content Include="Web.Release.config"> 
     <DependentUpon>Web.config</DependentUpon> 
    </Content> 
    </ItemGroup> 
<Choose>        <--- Only added to assembly in "Plugin Mode" 
    <When Condition=" '$(Configuration)'=='Plugin' "> 
     <ItemGroup>     
     <EmbeddedResource Include="Views\*\*.aspx"> 
     </EmbeddedResource> 
     </ItemGroup> 
    </When> 
    <Otherwise> 
     <ItemGroup> 
     <Content Include="Views\Comment\Create.aspx" /> 
     <Content Include="Views\Record\Create.aspx" /> 
     </ItemGroup> 
    </Otherwise> 
    </Choose> 

 Смежные вопросы

  • Нет связанных вопросов^_^