为什么 Blazor WASM 添加程序集引用失败?

问题描述 投票:0回答:1

当我尝试将 .NET 标准库引用到我的项目中时,出现了这个奇怪的错误。

这是一个 .NET 6 Blazor WASM 托管。完整的描述在这里:

“严重性代码描述项目文件行抑制状态详细信息 错误 MSB3954 无法计算文件“NorwestStudentPlan.Shared”的哈希值,因为它不存在或无法访问。 NorwestActivity.Client C:\Users connect.nuget\packages\microsoft.net.sdk.web assembly.pack\8.0.4 uild\Microsoft.NET.Sdk.WebAssembly.Browser.targets 356"

仅第一个引用“NorwestStudentPlan.Shared.dll”有错误,第二个引用“StudentManagementLibrary.dll”没有错误。

错误列表图片

我尝试过更新Visual Studio。 我还尝试从第一个名为“NorwestStudentPlan”的项目的本地 bin/debug 文件夹中添加项目引用,但这似乎也不起作用。但是,当我从构建中删除所有文件并只保留 NorwestStudenPlan.Shared.dll 时,它就可以工作了!整个解决方案构建完毕。

从 wwwroot 文件夹进行引用很重要,因为这是我们发布所有最新程序集文件的文件夹,以便我们的其他项目可以从中读取。

任何意见将不胜感激。

谢谢你。

编辑:经过一些搜索和调试,当我发布解决方案时,似乎有其他文件干扰了引用的.dll。例如,当我从文件夹中删除“DocumentFormat.OpenXml.dll”并引用 NorwestStudenPlan.Shared.dll 构建解决方案时,效果很好。知道这是怎么回事吗?

DocumentFormat.OpenXml.dll

c# blazor blazor-webassembly
1个回答
0
投票

感谢大家的意见。我遵循 Cristian Rusanu 上面的评论,继续匹配 nuget 包的所有版本,并添加了感兴趣的 .dll 的版本,包括“Microsoft.IdentityModel.Tokens”和“DocumentFormat.OpenXml”。这有效!似乎在另一个使用 .NET 中未找到的 nuget 包的项目中引用 .dll 将不起作用,尽管这些 .dll 文件存在并且位于我想从中引用所需 .dll 的已发布项目中。我需要确保将这些添加到我想要引入 .dll 的项目中。

© www.soinside.com 2019 - 2024. All rights reserved.