Visual Studio: как переопределить стандартное «действие сборки» для определенных типов расширений для проекта или решения? - PullRequest
7 голосов
/ 23 июля 2010

Я обслуживаю свои представления asp.net mvc из многих сборок и копирую представления в основное приложение по событию после сборки.

Это работает, однако я понял, что когда я что-то изменяю в представлениии просто нажмите F5, изменения не включены.Чтобы увидеть изменения, я должен сделать следующее: сохранить, построить <- явно щелкнув, а затем нажать F5.Однако это довольно раздражающее решение. </p>

Я обнаружил, что установка действия Build на «Embedded Resource» в представлении также решает проблему, однако другие разработчики могут не помнить, что они должны делать это после добавления каждого представления врешение.

Есть ли способ переопределить действие по умолчанию при сборке для определенных расширений файлов, таких как: * .aspx, * .ascx в проекте или (лучше) в решении?

Что я имеюнайдена возможность добавить этот параметр глобально для каждой машины, но я не хочу этого делать (ссылка: http://blog.andreloker.de/post/2010/07/02/Visual-Studio-default-build-action-for-non-default-file-types.aspx)

Есть идеи?

Ответы [ 2 ]

6 голосов
/ 02 февраля 2011

Рассмотрим следующую схему файла проекта:

<Project ToolsVersion="3.5" DefaultTargets="EmbedViews;Build" ...>
...
  <Target Name="EmbedViews">
    <ItemGroup>
      <EmbeddedResource Include="Views\*\*.aspx" />
      <EmbeddedResource Include="Views\*\*.ascx" />
    </ItemGroup>
  </Target>
</Project>

Это добавит все файлы aspx и ascx в Views\<subfolder> в вашу библиотеку как Embedded Resource.Обратите внимание, что EmbedViews добавляется к DefaultTargets до Build - порядок здесь важен, я обнаружил, что сам совершил эту ошибку: -)

После редактирования всех файлов вашего проекта вполучить этот фрагмент громоздко, вы можете сделать свой собственный шаблон проекта с этим включенным.

Пожалуйста, дайте мне знать, если это помогло.

0 голосов
/ 15 декабря 2017

На случай, если кому-то здесь интересно - все равно нет способа сделать это, если вы хотите, чтобы он работал с текущими и будущими элементами.

В VS 2017 при добавлении нового файла при наличии правила перехвата (например, Content Include = "**.*ts"), если вы добавляете новый файл, он добавляет свою собственную строку в <ItemGroup> со своим собственным BuildAction, игнорируя предопределенную ловушку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...