0

我在 VS 2015、2017 和 2019 上遇到过这个问题,所以我相信这不是我的设置所特有的。

aspnet_merge(0,0): Error occurred: An error occurred when merging assemblies: Object reference not set to an instance of an object

这发生在以下运行之后:

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\aspnet_merge.exe (project location)\TempPackageBuildDir\obj\Debug\AspnetCompileMerge\TempBuildDir -o (name of assembly) -copyattrs (repository location)\..\..\TempPackageBuildDir\obj\Debug\AssemblyInfo\AssemblyInfo.dll -a -debug

我可以在另一台机器上运行这个完全相同的命令,它运行没有问题。我之前已经能够通过在 website.publishproj 中明确设置我的输出目录来解决这个 ONCE

<PropertyGroup>
    <OutputPath>$(MSBuildProjectDirectory)\..\..\TempPackageBuildDir\</OutputPath>
</PropertyGroup>

但是几天后问题又来了。我的机器上专门缓存了一些不好的东西,我没有足够的知识知道它是什么。

任何见解将不胜感激,

4

1 回答 1

0

实际上,问题与您的项目和 VS 环境有关。请尝试以下步骤:

1) 清理所有nuget缓存或删除C:\Users\xxx\.nuget\packages

关闭,删除.vs隐藏文件夹binobj文件夹。

另外,删除下的所有文件C:\Users\<user>\AppData\Local\Temp\Temporary ASP.NET Files

然后,重启VS,update-package -reinstallTools --> Nuget Package Manager --> Package Manager Console下运行

如果您引用任何程序集 dll,请先将其删除,然后再将其添加回来。

确保所有 Merge 的 DLLS 没有损坏。

2)重置工具下的所有vs设置->导入和导出设置->重置所有设置

3)禁用任何第三方安装的扩展,以检查是否有一个导致。

4) 修复与来自vs_installer

此外请检查您是否有这些文件web.config。如果有,请删除它们。

于 2021-01-01T03:37:18.097 回答