c# - 发布时无法找到错误元数据文件 dll CSC

标签 c# asp.net visual-studio-2019 .net-standard-2.0 .net-5

我有一个包含多个项目的 Visual Studio 解决方案,特别是 DotNet5 asp.net 应用程序,其中包含多个 netstandard 2.0 引用。它在调试器中构建并运行良好,但不断抛出元数据错误。它一直专门引用它在 netstandard2 项目中寻找 net5 文件夹。我找不到它的来源,有问题的曾经是一个针对框架 4.7、4.8 和 net5.0 的多目标项目,但我对多个 dll 感到恼火,只是将它迁移到 standard2.0 并且没有问题直到我想发布它。

我尝试了引用的其他一些问题,清理、重建、删除和重新添加对其他项目的引用,从解决方案中删除了 obj 和 bin 文件夹,删除了 sou 文件,尝试了 VS 2019 (16.9. 0 预览版 2) 预览版与 2019 (16.8.3) 版相比,不同的计算机(从 lan git 存储库中拉回)并出现相同的错误....还尝试在整个解决方案中搜索对 net5.0 的引用,但没有在预期位置之外找不到它,例如 asp.net 项目的 csproj 及其各自的 pubxml。只是为了好玩,我暂时将库项目重新定位回 net5.0,即使列出的确切文件和路径确实存在,它仍然会抛出相同的错误。

对错误消息中的不同列使用以下错误输入,并删除“敏感”信息。 Visual Studio 没有提供错误代码。还有其他人对尝试什么有更多想法吗?

错误

找不到元数据文件“C:\Users\UserName\source\repos\Solution\Project 2\bin\Release\net5.0\ref\Project 2.dll”。

项目 1

中国科学技术大学

0

编辑:添加错误消息的其他几个部分:

1/2/2021 7:38:55 PM
System.AggregateException: One or more errors occurred. ---> Microsoft.WebTools.Shared.Exceptions.WebToolsException: Build failed. Check the Output window for more details.
   --- End of inner exception stack trace ---
---> (Inner Exception #0) Microsoft.WebTools.Shared.Exceptions.WebToolsException: Build failed. Check the Output window for more details.<---

Microsoft.WebTools.Shared.Exceptions.WebToolsException: Build failed. Check the Output window for more details.

===================

输出窗口的结尾因为完整的东西有点太长了。仍然无法弄清楚它从哪里获得一个项目引用的 net5.0

/reference:C:\Users\UserName\.nuget\packages\system.xml.xpath.xmldocument\4.0.1\ref\netstandard1.3\System.Xml.XPath.XmlDocument.dll /reference:C:\Users\UserName\.nuget\packages\mysql.data\8.0.22\lib\net5.0\Ubiety.Dns.Core.dll /reference:"C:\Users\UserName\source\repos\CheckNotes\Project 3\bin\Release\netstandard2.0\Project 3.dll" /reference:"C:\Users\UserName\source\repos\CheckNotes\Project 2\bin\Release\net5.0\ref\Project 2.dll" /reference:C:\Users\UserName\source\repos\CheckNotes\Project 4\bin\Release\netstandard2.0\Project 4.dll /reference:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\WindowsBase.dll" /reference:C:\Users\UserName\.nuget\packages\mysql.data\8.0.22\lib\net5.0\Zstandard.Net.dll /debug+ /debug:portable /filealign:512 /optimize+ /out:"obj\Release\net5.0\CheckNotes Web - Core.dll" /refout:"obj\Release\net5.0\ref\CheckNotes Web - Core.dll" /target:exe /warnaserror- /utf8output /deterministic+ /langversion:9.0 /analyzerconfig:"obj\Release\net5.0\CheckNotes Web - Core.GeneratedMSBuildEditorConfig.editorconfig" /analyzerconfig:"C:\Program Files\dotnet\sdk\5.0.200-preview.20601.7\Sdks\Microsoft.NET.Sdk\analyzers\build\config\AnalysisLevel_5_Default.editorconfig" /analyzer:"C:\Program Files\dotnet\sdk\5.0.200-preview.20601.7\Sdks\Microsoft.NET.Sdk.Web\analyzers\cs\Microsoft.AspNetCore.Analyzers.dll" /analyzer:"C:\Program Files\dotnet\sdk\5.0.200-preview.20601.7\Sdks\Microsoft.NET.Sdk.Web\analyzers\cs\Microsoft.AspNetCore.Mvc.Analyzers.dll" /analyzer:"C:\Program Files\dotnet\sdk\5.0.200-preview.20601.7\Sdks\Microsoft.NET.Sdk.Web\analyzers\cs\Microsoft.AspNetCore.Components.Analyzers.dll" /analyzer:"C:\Program Files\dotnet\sdk\5.0.200-preview.20601.7\Sdks\Microsoft.NET.Sdk\targets\..\analyzers\Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll" /analyzer:"C:\Program Files\dotnet\sdk\5.0.200-preview.20601.7\Sdks\Microsoft.NET.Sdk\targets\..\analyzers\Microsoft.CodeAnalysis.NetAnalyzers.dll" Controllers\AssemblyController.cs Controllers\CheckNotesController.cs Controllers\ContactsController.cs Controllers\CustomerController.cs Controllers\HomeController.cs Controllers\ImageController.cs Controllers\OperatorPagesController.cs Controllers\PalletsController.cs Controllers\SharedController.cs Controllers\StatisticsController.cs Models\ControllerClass\ctrlrAssembly.cs Models\ControllerClass\CtrlrCheckNotes.cs Models\ControllerClass\ctrlrContacts.cs Models\ControllerClass\CtrlrCustomer.cs Models\ControllerClass\CtrlrOperatorPages.cs Models\ControllerClass\CtrlrPallet.cs Models\ControllerClass\ctrlrStats.cs Models\DataClass\AppSettings.cs Models\ErrorViewModel.cs Models\renderAction.cs Program.cs Startup.cs "obj\Release\net5.0\.NETCoreApp,Version=v5.0.AssemblyAttributes.cs" "obj\Release\net5.0\CheckNotes Web - Core.AssemblyInfo.cs" "obj\Release\net5.0\CheckNotes Web - Core.RazorAssemblyInfo.cs" /warnaserror+:NU1605
CSC(0,0): Error CS0006: Metadata file 'C:\Users\UserName\source\repos\CheckNotes\Project 2\bin\Release\net5.0\ref\Project 2.dll' could not be found

10>Build failed. Check the Output window for more details.
========== Build: 9 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
========== Publish: 0 succeeded, 1 failed, 0 skipped ==========

最佳答案

可以发布,但我很困惑....与发布配置文件有关。如果我删除它并生成一个新的,工作正常。一旦我使用 GUI 编辑它,就坏了....再次生成它。到目前为止似乎可以手动编辑它,但待定。不确定“修复”是否会在重新启动 Visual Studio 后继续存在。

编辑 - 从头开始​​,发现了不同之处。 删除 Properties/FolderProfile.pubxml 中的以下行就可以了。

<TargetFramework>net5.0</TargetFramework>

关于c# - 发布时无法找到错误元数据文件 dll CSC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65537269/

相关文章:

c# - 从索引在 () 的列表中获取项目

c# - 确定端口是否正在使用?

jenkins - Linux : Unable to find fallback package folder 'C:\Program Files\dotnet\sdk\NuGetFallbackFolder'

c# - 限制动态加载程序集的执行

c# - 使用 ASP NET Core 2.0 Razor Pages 进行路由

asp.net - URL重写页面加载循环

asp.net - 在ASP.NET Web应用程序内部托管Powershell

c# - 如何在桌面上获得与 IIS7 处理交互的许可?

c++ - 在 CUDA 内核中调用内核

Visual Studio 2019 中的 asp.net core React redux 项目中的 JavaScript