我必须在这里遗漏一些明显的东西,但我在ASP.NET MVC Web项目.csproj文件的末尾有这个:
[...]
<Target Name="BeforePublish">
<Error Condition="'foo'=='foo'" Text="test publish error" />
</Target>
</Project>
Run Code Online (Sandbox Code Playgroud)
据我所知,这应该总是导致发布失败并出现错误.然而,如果我加载项目,右键单击它,然后单击"发布",这个东西会毫不费力地发布.我错过了什么?
我已经看到msbuild命令/t:pipelinePreDeployCopyAllFilesToOneFolder作为目标传递.在搜索互联网时,我发现了许多有关此目标的论坛和问题/答案帖子.也就是说,我没有找到官方文件.
这个目标通常与_PackageTempDir财产一起.
我最好的猜测是,目标和属性共同意味着,在部署之前,将所有文件复制到指定的包临时目录.
我正在尝试使用 GitHub actions 和 Azure 构建和部署 ASP.NET Web 应用程序。
我已经使用 VS2017 成功创建了一个小型应用程序 (.NET 4.8) 并将其发布到 Azure。
现在,我正在尝试设置自动部署,并使用设置部署时从 Azure 获得的基本 GitHub 操作工作流。
运行该操作时,我遇到此错误:
D:\a\pathtomyproject\myprojectname.csproj : error MSB4057: The target "pipelinePreDeployCopyAllFilesToOneFolder" does not exist in the project.
这是完整的动作:
name: Build and deploy ASP app to Azure Web App
on:
push:
branches:
- develop
workflow_dispatch:
jobs:
build-and-deploy:
runs-on: 'windows-latest'
steps:
- uses: actions/checkout@master
- name: Setup MSBuild path
uses: microsoft/setup-msbuild@v1.0.2
- name: Setup NuGet
uses: NuGet/setup-nuget@v1.0.5
- name: Restore NuGet packages
run: nuget …Run Code Online (Sandbox Code Playgroud)