visual-studio - 未流向最终位置的已发布文件的修改
问题描述
我正在尝试从旧的 Web 部署项目方法过渡到使用 Visual Studio 2017 中的文件系统发布来发布我们的网站。
对于 Web 部署项目,当我们通过命令行运行 MSBuild 时,我们有一些任务来删除一些目录并重命名一些文件。在我用于 ClickOnce Publish 的 pubxml 文件中,我有这个:
<PropertyGroup>
<PackageDir>$(IntermediateOutputPath)Package\PackageTmp</PackageDir>
</PropertyGroup>
<Target Name="CustomAfterPublish" AfterTargets="CopyAllFilesToSingleFolderForPackage">
<RemoveDir Directories="$(PackageDir)\testcenter" />
</Target>
这确实会从临时位置删除 testcenter 文件夹,但该文件夹仍位于最终文件夹中。看来这是在文件移动到最终输出文件夹之前运行的,所以我不太确定它为什么在那里......
在我进行更改后,是否需要运行另一个目标或获取要复制的新文件列表的方法?
解决方案
未流向最终位置的已发布文件的修改
我可以通过自定义您的目标成功地做到这一点CustomAfterPublish
,您应该确保在命令行中指定了 pubxml 文件,例如:
msbuild "YourSolutionPath\SolutionName.sln" /p:DeployOnBuild=true /p:PublishProfile=ProfileName.pubxml
另外,您可以将MSBuild日志更改为详细,以检查自定义目标是否执行成功(在Tools
–> Options
–> Projects and Solutions
–>下Build and Run
,将MSBuild项目构建输出详细程度更改为Detailed
或Diagnostic
)。
此外,如果我们不想包含要发布的文件夹,我们可以通过.pubxml 或 .wpp.targets文件中的元素ExcludeFilesFromDeployment
和元素中ExcludeFoldersFromDeployment
的元素排除特定文件或文件夹,例如:PropertyGroup
<PropertyGroup>
<ExcludeFoldersFromDeployment>
$(PackageDir)\testcenter
</ExcludeFoldersFromDeployment>
</PropertyGroup>
有关更多详细信息,请参阅Visual Studio 和 ASP.NET 的 Web 部署常见问题解答。
希望这可以帮助。
推荐阅读
- numpy - 在 x 和 y 值上使用不同大小的数组喂养 pyplot
- sql-server - 如何在 asp.net 核心中工作并将新表添加到数据库第一个模型?
- javascript - 访问 Promise.then() 中的拖放对象?
- python - 每次代码运行时如何保存数据并附加到它
- ios - 将数据从 UIViewController 传递到 UITabBarController 始终为零
- flutter - 是否可以在飞镖中动态设置方法的返回类型
- python - 在 Android Studio 中使用 Chaquopy 将值插入到 python 文件中
- vba - 从抓取的表格中提取单元格值的最有效方法
- c# - 是否可以在 HwndHost 中托管 WPF 页面?
- chart.js - 如何在工具提示回调afterBody中将逗号分隔的字符串分成新行?