我在Visual Studio中使用单击部署来部署我的ASP.NET MVC5应用程序。
同时,我需要将一些css/js文件复制到一个集中的文件夹中,以便在我的解决方案的不同应用程序中使用它们。
似乎msdeploy有some options来解决这个问题。但是,我可以在哪里/如何使用Visual Studio 2015将参数传递给msdeploy?
发布于 2015-10-23 00:16:34
其中一个选项是:
我们需要一些继承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文件:用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>https://stackoverflow.com/questions/33283286
复制相似问题