我正在将一个Asp.Net网站项目从4.7升级到4.8的.net框架。在升级后,项目可以从Visual Studio中成功构建,并且在本地计算机上运行没有任何问题。但是,当使用MSBuild发布相同的项目时,我会遇到以下错误:
您可以看到,
(AspNetMerge目标) ->
aspnet_merge:发生错误:合并程序集时出错:不允许未解决的程序集引用: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>
您可以看到,
<UseMerge>
被设置为true
,这将把输出合并到单个程序集中。
我尝试禁用合并,这解决了问题,但我希望保持合并选项启用,因为它之前在发布流水线中已经配置好了。任何帮助将不胜感激。