.net Web部署到子文件夹(bin除外)
我有一个web应用程序项目,我想使用Visual Studio中的web Deploy将其发布到我的网站。但是,我希望项目中的文件(设置为发布)部署在子文件夹结构下,.net Web部署到子文件夹(bin除外),.net,iis,visual-studio-2013,webdeploy,.net,Iis,Visual Studio 2013,Webdeploy,我有一个web应用程序项目,我想使用Visual Studio中的web Deploy将其发布到我的网站。但是,我希望项目中的文件(设置为发布)部署在子文件夹结构下,foo,除了bin和App\u Data目录下的,这些目录仍应部署在root目录下。通过改变.pubxml配置文件,是否有一种干净的方法来实现这一点 我遇到了一些问题: 我假设我无法将元素设置为指向子文件夹,因为它不允许我在根目录下发布bin和App_Data文件夹 我希望将拾取的文件限制为通常由Web Deploy发布的文件。我
foo
,除了bin
和App\u Data
目录下的,这些目录仍应部署在root目录下。通过改变.pubxml
配置文件,是否有一种干净的方法来实现这一点
我遇到了一些问题:
- 我假设我无法将
元素设置为指向子文件夹,因为它不允许我在根目录下发布
和bin
文件夹App_Data
- 我希望将拾取的文件限制为通常由Web Deploy发布的文件。我不想部署我的
文件.cs
- 我事先不知道完整的文件扩展名集,因此无法基于它们定义一个详尽的过滤器(例如
)。我想将任何筛选器定义限制为*.html |*.js |…
和bin
文件夹App\u Data
- 我想保留文件的文件夹结构。例如,
应该转到bar\Default.html
foo\bar\Default.html
- 我希望此过程的结果可以在Web部署预览窗口中获得
- 我想出来了;我需要定义一个
目标
,其中包含一个在copyallfilestosinglefoldperformsdeploy
之后执行的任务。这在.pubxml
文件中的
之后:
<Target Name="MoveFilesToDesignatedDirectory"
AfterTargets="CopyAllFilesToSingleFolderForMsdeploy">
<Message Text="Moving files to designated directory" importance="high" />
<ItemGroup>
<_CustomMoveFiles Include="$(_PackageTempDir)\**"
Exclude="$(_PackageTempDir)\bin\**;
$(_PackageTempDir)\App_Data\**" />
</ItemGroup>
<Move SourceFiles="%(_CustomMoveFiles.Identity)"
DestinationFolder="$(_PackageTempDir)\foo\%(RecursiveDir)" />
</Target>
参考资料:
- 赛义德·易卜拉欣·哈希米的
- 基思贝勒酒店