3

У нас, похоже, проблема при запуске нашего проекта развертывания в том случае, когда он компилируется, он, кажется, пропускает наши мастер-страницы с вывода.Недостающие главные страницы при выпуске проекта веб-развертывания

Есть ли способ «заставить» проект включать файлы .master, либо путем редактирования файла .wdproj, либо с помощью другого метода?

Кроме того, я читал проект MSBuildTasks community и следил за некоторыми из sample documentation, но это, похоже, не работает. Проект не будет исключать файлы, которые я выбираю, и, похоже, не делает сжатия. Кто-нибудь еще пробовал это расширение, которое может обеспечить обратную связь/руководство?

Большое спасибо заранее

Update:

Я установил это, создавая ItemGroup и делать копию.

<ItemGroup> 
    <MasterFiles Include="$(SolutionDir)\MVC\Views\Shared\Templates\**\*.master" /> 
</ItemGroup> 

<Target Name="AfterBuild"> 
    <Copy SourceFiles="@(MasterFiles)" DestinationFiles="$(OutputPath)\Views\Shared\Templates\%(RecursiveDir)%(Filename)%(Extension)" /> 
</Target> 

ответ

2

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

Об исключении файлов, вам придется взломать файл .wdproj, который является всего лишь файлом MSBuild. Чтобы исключить файлы, добавьте их в элемент ExcludeFromBuild. Например, чтобы убедиться, что ваш файл проекта не входит в Inthe развертывания необходимо добавить заявление, как:

<ItemGroup> 
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)*.csproj"/> 
    <!-- Below excludes svn folders --> 
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)**\.svn\**\*"/> 
</ItemGroup> 

Сайед Ибрагим Хашими

My Book: Inside the Microsoft Build Engine : Using MSBuild and Team Foundation Build

+1

Сказал, спасибо за ваш ответ. Я нашел флаг ExcludeFromBuild, но это, похоже, копирует весь наш веб-проект поверх каталогов svn и всех, а затем работает над этим. Раньше он просто собирал все и генерировал несколько каталогов. –

+0

Привет, я только что отредактировал пример, чтобы продемонстрировать, как исключить папки .svn. BTW Я взял это прямо из моей книги, там есть почти целая глава о проектах веб-развертывания. –

-1

Вы используете «проект веб-развертывания» - если это так, вы можете включить «Primary Output» И «Content Files» или конкретно включить файл .master.

+0

Спасибо за ваш ответ! Да, я использую проект веб-развертывания. Как установить эти флаги? И эта функция также позволяет мне исключать файлы/каталоги? –

+0

При первом создании проекта веб-развертывания обычно щелкните правой кнопкой мыши проект развертывания и выберите «Добавить выходной проект» - они выберете проект и выберите «Первичный вывод» и «Файлы содержимого». – Fenton

+0

Sohnee, не было никакого варианта для этого, я боюсь. –

0

Я установил это, создавая Itemgroup и сделайте копию.

<ItemGroup> 
    <MasterFiles Include="$(SolutionDir)\MVC\Views\Shared\Templates\**\*.master" /> 
</ItemGroup> 

<Target Name="AfterBuild"> 
    <Copy SourceFiles="@(MasterFiles)" DestinationFiles="$(OutputPath)\Views\Shared\Templates\%(RecursiveDir)%(Filename)%(Extension)" /> 
</Target> 

Большое спасибо