首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用msdeploy一键部署复制css/js文件

使用msdeploy一键部署复制css/js文件
EN

Stack Overflow用户
提问于 2015-10-22 22:18:22
回答 1查看 104关注 0票数 2

我在Visual Studio中使用单击部署来部署我的ASP.NET MVC5应用程序。

同时,我需要将一些css/js文件复制到一个集中的文件夹中,以便在我的解决方案的不同应用程序中使用它们。

似乎msdeploy有some options来解决这个问题。但是,我可以在哪里/如何使用Visual Studio 2015将参数传递给msdeploy?

EN

回答 1

Stack Overflow用户

发布于 2015-10-23 00:16:34

其中一个选项是:

我们需要一些继承Task的类。它将复制文件。

代码语言:javascript
复制
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文件:用CopyFilesToFolder类注册动态链接库,为MsDeploy添加目标

代码语言:javascript
复制
<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目标

代码语言:javascript
复制
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <!-- Other properties -->
    <OnAfterCopyAllFilesToSingleFolderForPackage>CopyFilesToFolderForPublish;</OnAfterCopyAllFilesToSingleFolderForPackage>
  </PropertyGroup>
</Project>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33283286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档