2

Я развернул приложение ASP.NET MVC 5 с помощью развертывания одним щелчком мыши в Visual Studio.Скопировать файлы css/js с помощью msdeploy при развертывании с одним щелчком

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

По-видимому, у msdeploy есть some options, чтобы решить эту проблему. Но где/как передать параметры в msdeploy с помощью Visual Studio 2015?

ответ

1

Один из вариантов:

нам нужен некоторый класс, наследующий Task. Он скопирует файлы.

public class CopyFilesToFolder : Task 
{ 
    [Required] 
    public string FolderPathForSource { get; set; } 

    [Required] 
    public string OutputFolder { get; set; } 

    public override bool Execute() 
    { 
     //Do copy here 

     return true; 
    } 
} 

Например, YouProject - это то, что вы хотите развернуть.

Нам нужно отредактировать файл YourProject.csproj: DLL регистра с классом CopyFilesToFolder и добавить цель для MSDeploy

<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <UsingTask TaskName="CopyFilesToFolder" AssemblyFile="..\..\pathTodll\dllWithCopyFilesToFolderClass.dll"> 
    </UsingTask> 
    <Target Name="CopyFilesToFolderForPublish"> 
    <CopyFilesToFolder FolderPathForSource="$(ProjectDir)\\$(_PackageTempDir)\\Content\\" OutputFolder="C:\\Deploy\\Content\\"> 
    </CopyFilesToFolder> 
    </Target> 
<!-- ... --> 

</Project> 

Как вы видите, мы можем передать параметры в класс мы создаем ранее. И последнее, в YourProject.pubxml файле мы сказали MSDeploy, что, когда он Бип вместе все файлы, необходимые для пакета выполнения целевой CopyFilesToFolderForPublish

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <!-- Other properties --> 
    <OnAfterCopyAllFilesToSingleFolderForPackage>CopyFilesToFolderForPublish;</OnAfterCopyAllFilesToSingleFolderForPackage> 
    </PropertyGroup> 
</Project> 

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

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