【问题标题】:AspNet Visual Studio - Error while merging assembliesAspNet Visual Studio - 合并程序集时出错
【发布时间】:2020-11-13 04:57:12
【问题描述】:

这发生在 Windows 10 PC 上的 Visual Studio 2019 Community v 16.8.1 上。

我需要帮助来找出在合并程序集步骤期间发布 asp.net 4.7 Web 项目结束时发生此错误的原因。

“合并程序集时出错:对象引用未设置为对象的实例。”

合并线看起来像 "D:\Repo\project\packages\Microsoft.AspNet.Merge.5.0.0-beta2\tools\net40\aspnet_merge.exe" "D:\Repo\project\obj\Release\AspnetCompileMerge\TempBuildDir" -o WebBuild -复制属性 obj\Release\AssemblyInfo\AssemblyInfo.dll -a

我添加了 -errorstack 来得到这个结果

[NullReferenceException]: Object reference not set to an instance of an object.
   at System.Web.Compilation.WebCompilationVisitor.VisitMethodCall(MethodCall call)
   at System.Compiler.StandardVisitor.VisitExpression(Expression expression)
   at System.Compiler.StandardVisitor.VisitExpressionStatement(ExpressionStatement statement)
   at System.Compiler.StandardVisitor.VisitStatementList(StatementList statements)
   at System.Compiler.StandardVisitor.VisitBlock(Block block)
   at System.Compiler.StandardVisitor.VisitStatementList(StatementList statements)
   at System.Compiler.StandardVisitor.VisitBlock(Block block)
   at System.Compiler.StandardVisitor.VisitMethod(Method method)
   at System.Compiler.StandardVisitor.VisitMemberList(MemberList members)
   at System.Compiler.StandardVisitor.VisitTypeNode(TypeNode typeNode)
   at System.Web.Compilation.WebCompilationVisitor.VisitClass(Class Class)
   at System.Compiler.StandardVisitor.VisitTypeNodeList(TypeNodeList types)
   at System.Web.Compilation.WebCompilationVisitor.VisitTypeNodeList(TypeNodeList types)
   at System.Compiler.StandardVisitor.VisitModule(Module module)
   at System.Compiler.StandardVisitor.VisitAssembly(AssemblyNode assembly)
   at System.Web.Compilation.WebCompilationVisitor.VisitAssembly(AssemblyNode assembly)
   at ILMerging.ILMerge.Merge()
   at System.Web.Compilation.Merge.DoMerge(ILMerge merge)
   at System.Web.Compilation.Merge.MergeToSingleAssembly(String outputFile, String[] inputAssemblies, Hashtable assemblyMapping, DirectoryInfo inputDirectory, DirectoryInfo outputDirectory)
   at System.Web.Compilation.Merge.Main(String[] args)

但以上都没有告诉我问题是什么。

我已尝试更新到最新的 Visual Studio(2019 社区 v 16.8.1), 我已经从 /local/microsoft 中删除了 visualstudio 和 vscommon 文件夹。 重启电脑。

此问题在以下 Windows 更新后开始。

https://support.microsoft.com/en-gb/help/4586781/windows-10-update-kb4586781

不确定更新是否起作用,但我可以在更新之前发布。此更新将强制退出 Visual Studio。

谢谢 马特

【问题讨论】:

    标签: asp.net visual-studio merge


    【解决方案1】:

    运行分析器似乎改变了 web.config

    <compilation debug="true" targetFramework="4.7.1" assemblyPostProcessorType="Microsoft.VisualStudio.Enterprise.Common.AspPerformanceInstrumenter, Microsoft.VisualStudio.Enterprise.AspNetHelper, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    

    从此标签中删除 assemblyPostProcessorType="Microsoft.VisualStudio.Enterprise.Common.AspPerformanceInstrumenter, Microsoft.VisualStudio.Enterprise.AspNetHelper, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

    和删除

    <dependentAssembly>
        <assemblyIdentity name="Microsoft.VisualStudio.Enterprise.AspNetHelper" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <codeBase version="16.0.0.0" href="file:///C:/Program%20Files%20(x86)/Microsoft%20Visual%20Studio/Shared/Common/VSPerfCollectionTools/vs2019/Microsoft.VisualStudio.Enterprise.AspNetHelper.DLL" />
    </dependentAssembly>
    <dependentAssembly>
        <assemblyIdentity name="VsWebSite.Interop" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <codeBase version="8.0.0.0" href="file:///C:/Program%20Files%20(x86)/Microsoft%20Visual%20Studio/Shared/Common/VSPerfCollectionTools/vs2019/VsWebSite.Interop.DLL" />
    </dependentAssembly>
    

    允许发布工作

    【讨论】:

      猜你喜欢
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-10
      • 2011-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多