.Net-Core Proj - MSBuild 无法复制到输出文件夹

Posted

技术标签:

【中文标题】.Net-Core Proj - MSBuild 无法复制到输出文件夹【英文标题】:.Net-Core Proj - MSBuild failing to copy to output folder 【发布时间】:2020-01-12 05:32:25 【问题描述】:

尝试从 TFS 构建到 .NET-Core 项目,构建失败,因为以下命令不起作用,无法将构建的文件复制到输出文件夹。该命令适用于 .Net Framework 项目,而不仅仅适用于 .Net Core 项目。请检查。

基本命令可以正常工作:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin>MSBuild.exe "C:\TFSFolder\Builds\GUID\DotnetCoreProject.sln"  /p:OutDir="C:\TFSFolder\Builds\39\b\DotnetCoreProject\\"

非工作命令:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin>MSBuild.exe "C:\TFSFolder\Builds\GUID\DotnetCoreProject.sln" /nologo /nr:false /t:"Clean" /dl:CentralLogger,"C:\TFSFolder\Builds\_tasks\VSBuild_71a9a2d3-a98a-4caa-96ab-affca411ecda\1.126.0\ps_modules\MSBuildHelpers\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll";"RootDetailId=2c81e6a8-374d-4a65-91ba-418b04505e77|SolutionDir=C:\TFSFolder\Builds\GUID\"*ForwardingLogger,"C:\TFSFolder\Builds\_tasks\VSBuild_71a9a2d3-a98a-4caa-96ab-affca411ecda\1.126.0\ps_modules\MSBuildHelpers\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll" /p:OutDir="C:\TFSFolder\Builds\39\b\DotnetCoreProject\\" /t:Restore /p:platform="any cpu" /p:configuration="release" /p:VisualStudioVersion="15.0" /p:_MSDeployUserAgent="TFS_fa1cf861-541e-47b2-b0f3-8c684de5500a_build_22138_1486294"

只需将构建的文件复制到提到的输出文件夹路径即可。我只能猜测提到的dll不支持,请检查并帮助。

【问题讨论】:

【参考方案1】:

您似乎只是在恢复和清理项目,因为您指定了 /t:Clean/t:Restore

请改用-restore -t:Rebuild

另请注意,您通常不希望将 .NET Core 项目的输出目录内容用于部署,而是希望其发布输出。为此,请改用项目上的 Publish 目标:

-restore -t:Publish theproject.csproj -p:PublishDir=artifact\location

【讨论】:

不得不使用 '/t:Restore' 来修复错误,这是关于包资产文件的。还有关于出版,它的安静是不可理解的,没有构建它如何工作?请注意,这是在 tfs 上配置的。请更清楚如何在 tfs 上配置它以进行发布? 发布目标内部依赖于构建目标。 TFS / AzureDevops 还具有您可以使用的 .NET Core 构建任务。 Visual Studio 构建任务也可以配置不同的参数。

以上是关于.Net-Core Proj - MSBuild 无法复制到输出文件夹的主要内容,如果未能解决你的问题,请参考以下文章

获取 ASP.NET-Core 2.2 控制器中的控制器名称和方法名称

ASP.Net-Core 中的自定义身份验证

从类库访问 Asp.net-core 中的 appsetting.json

已发布的 .Net-Core 应用程序无法运行

Linq 查询在 ASP.NET-Core 3.0 及更高版本中对数字等字符串进行排序

SqlException:INSERT 语句与 FOREIGN KEY 约束冲突 - asp.net-core