我有一个网站项目,使用msbuild进行部署。在该项目中,有一些文件和文件夹需要进行构建(例如Web.config部分替换文件),但我不希望将它们部署到目标站点。
最好的解决方法是通过后置构建目标来删除这些文件,但我想知道是否有一种方法可以使这些文件不被复制到输出文件夹中。
最好的解决方法是通过后置构建目标来删除这些文件,但我想知道是否有一种方法可以使这些文件不被复制到输出文件夹中。
您好,查看此博客文章可以帮助您解决问题。
我正在尝试在发布时排除未压缩的JavaScript文件,并仅使用压缩版本(我正在删除大型JavaScript和chirp.config),这只是用于调试。
按照链接中的说明将以下内容放入项目文件即可。
<ItemGroup>
<ExcludeFromPackageFolders Include="Scripts\large">
<FromTarget>Project</FromTarget>
</ExcludeFromPackageFolders>
<ExcludeFromPackageFiles Include="Scripts\mash.js.chirp.config" />
<ExcludeFromPackageFiles Include="Content\mash.js.chirp.config" />
</ItemGroup>
发布的站点将不包括以下内容:
<Target Name="ExcludeApp_Data" DependsOnTarget="$(ExcludeApp_DataDependsOn)" Condition="$(ExcludeApp_Data)" >
<ItemGroup>
<ExcludeFromPackageFolders Include="App_Data">
<FromTarget>ExcludeApp_Data</FromTarget>
</ExcludeFromPackageFolders>
</ItemGroup>
</Target>
在某些情况下,编辑器无法正确显示代码。当您配置“Package/Publish Web”时,上述内容会在proj文件中生成。您可以添加自己的目标来完成此操作。
例如,如果您想从构建中排除Scripts\jquery文件,请创建一个名为ExcludeScriptFiles.wpp.targets的单独文件,如下所示:
<ItemGroup>
<ExcludeFromPackageFolders Include="Internal">
<FromTarget>ExcludeScriptFiles.wpp.targets</FromTarget>
</ExcludeFromPackageFolders>
<ExcludeFromPackageFiles Include="Scripts\jquery.js;xyz.js">
<FromTarget>ExcludeScriptFiles.wpp.targets </FromTarget>
</ExcludeFromPackageFiles>
</ItemGroup>