2
我在Visual Studio中使用單擊部署部署了ASP.NET MVC 5應用程序。在單擊部署中複製帶有msdeploy的css/js文件
同時我需要將一些css/js文件複製到一個集中的文件夾,以便可以從我的解決方案的不同應用程序中使用它們。
看來msdeploy有some options來解決這個問題。但是,在哪裏/如何使用Visual Studio 2015將參數傳遞給msdeploy?
我在Visual Studio中使用單擊部署部署了ASP.NET MVC 5應用程序。在單擊部署中複製帶有msdeploy的css/js文件
同時我需要將一些css/js文件複製到一個集中的文件夾,以便可以從我的解決方案的不同應用程序中使用它們。
看來msdeploy有some options來解決這個問題。但是,在哪裏/如何使用Visual Studio 2015將參數傳遞給msdeploy?
其中一個選項是:
,我們需要一些類繼承任務。它會複製文件。
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>
所有文件