小编vin*_*inu的帖子

从 .Net Framework 4.7 升级到 4.8 后使用 MSBuild 发布项目时出错

我正在将一个 Asp.Net 网站项目从 4.7 升级到 .net framework 4.8。升级后,项目从visual studio成功构建,并且在本地机器上运行也没有任何问题。当使用 MSBuild 发布同一个项目时,我收到以下错误: (AspNetMerge target) -> aspnet_merge : error occurred: An error occurred when merging assemblies: Unresolved assembly reference not allowed: System.Net.Http.

使用的 MsBuild 命令是: msbuild.exe "D:\Enterprise\Enterprise.sln" /nologo /nr:false /t:Build /p:DeployOnBuild=true /p:Configuration=Release /p:PublishProfile=VSO

此处引用的 VSO.pubxml 文件具有以下配置:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <publishUrl>..\..\Publish\Web</publishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
    <PrecompileBeforePublish>True</PrecompileBeforePublish>
    <EnableUpdateable>False</EnableUpdateable>
    <DebugSymbols>False</DebugSymbols>
    <WDPMergeOption>MergeAllOutputsToASingleAssembly</WDPMergeOption>
    <UseMerge>True</UseMerge>
    <SingleAssemblyName>MergedAssembly</SingleAssemblyName>
  </PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

您可以看到<UseMerge>设置为true将输出合并到单个程序集。我尝试通过完全禁用合并来解决问题,但我想保持合并选项处于启用状态,因为它在之前的发布管道中以这种方式配置。任何帮助将不胜感激。

.net c# asp.net msbuild .net-4.8

5
推荐指数
2
解决办法
668
查看次数

标签 统计

.net ×1

.net-4.8 ×1

asp.net ×1

c# ×1

msbuild ×1