问题标签 [resolveassemblyreference]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
44 回答
194708 浏览

visual-studio - 错误“在 Visual Studio 中找不到元数据文件 '...\Release\project.dll'”

最近我开始随机收到这条消息:

在 Visual Studio 中找不到元数据文件“...\Release\project.dll”

我有一个包含多个项目的解决方案。当前的构建模式是 Debug,所有项目的配置都设置为 Debug。但是当我尝试运行主项目时 - 有时它会给我一些错误,所有这些都是“找不到元数据文件'...\Release\projectX.dll'” - 而且,看,它说的是关于 RELEASE文件夹,虽然当前模式是调试。为什么?我尝试在所有解决方案文件中搜索对“Release\projectX.dll”的引用,并在 ResolveAssemblyReference.cache 文件中找到了一个。

我在互联网上进行了很好的搜索,发现有几个人有类似的问题,但没有解决方案,或者至少没有有效的解决方案。

我试图删除对这些项目的引用并阅读它们,但一段时间后我又开始遇到这些错误。

这似乎是一个错误。为什么我总是使用调试模式时它会在 Release 文件夹中搜索引用的项目?

PS。对于那些遇到这个问题的人:我无法以简单的方式解决它。只有在我重新安装 Windows 后它才消失 :(

0 投票
3 回答
2277 浏览

c# - 解决程序集,模糊方式

这是设置:

纯 DotNET 类库由非托管桌面应用程序加载。类库充当插件。这个插件加载它自己的小插件(所有 DotNET 类库),它通过将 dll 作为字节流读入内存来实现,然后

当这些小宝贝插件引用其他 dll 时,就会出现问题。由于它们是通过内存而不是直接从磁盘加载的,因此框架通常找不到这些引用的程序集,因此无法加载它们。

我可以在我的项目中添加一个 AssemblyResolver 处理程序,我可以看到这些引用的程序集消失了。我对在磁盘上的哪里可以找到这些引用的程序集有一个相当好的想法,但是我怎样才能确保我加载的程序集是正确的呢?

简而言之,我如何可靠地从 System.ResolveEventArgs.Name 字段转到 dll 文件路径,假设我有一个该 dll 可能隐藏的所有文件夹的列表)?

0 投票
2 回答
25025 浏览

.net - 什么是 ResolveAssemblyReference.cache?

文件是ResolveAssemblyReference.cache用来做什么的,是否需要签入?

0 投票
1 回答
13654 浏览

msbuild - ResolveProjectReferences 是如何工作的?

我想分析和调整我们的构建,希望在这里和那里节省几秒钟。我能够创建一个派生自 ResolveAssemblyReferences 的任务并改用它,但我在理解以下内容时遇到了问题(来自 Microsoft.Common.targets):

一些参数被传递,一些参数被返回,但实际工作发生在哪里呢?msdn 上的内容不多——我找到了 Microsoft.Build.Tasks.ResolveProjectBase,但它没有多大用处。

0 投票
0 回答
330 浏览

macos - Xamarin Studio 找不到不存在的程序集并引发编译错误“执行任务时出错 ResolveAssemblyReference”

尝试编译项目时出现以下错误:

执行任务 ResolveAssemblyReference 时出错:无法加载文件或程序集“//DataLayer/bin/Debug/EntityFramework.Extended.dll”或其依赖项之一。该系统找不到指定的文件。(数据层)

我曾经将此依赖项与 EntityFramework 一起使用,这是真的,但我将两者都删除了。这一切都是通过 nuget 发生的。使用 grep 检查项目:

显示该字符串仅存在于注释内的两个文件中,仅此而已,那么为什么会出现此异常?

我觉得现在最容易做的事情就是开始一个新项目并在没有EntityFramework的情况下正确配置它。从一开始就扩展了,但我仍然想有一个答案,以防我将来遇到类似的问题。

一个小评论 - 我在 OS X 中使用 Xamarin studio 以单声道开发 .Net Web 应用程序。我有最新版本,带有 Mono 3.4 的 Xamarin Studio 5.2,并且正在使用 .Net 4.0 配置文件编译项目。

0 投票
0 回答
13 浏览

c# - 找不到使用定义 BTSComp 和 BTSCompClass 的 VIBBTSCompLib 的参考

我们正在将一些文件从旧框架迁移到 VS2103 FW-4.5.1。在迁移解决方案文件之一时,有对 Interop.VIBBTSCompLib.dll 的引用,但我找不到这样的 dll 或任何其他更高级别的 DLL。同样在更多搜索中,这似乎与 BizTalk Server 有关,但我无法在 Visual Studio 2013 中找到任何参考资料,

使用此引用的定义和函数是“BTSComp”、“BTSCompClass()”和“ProcessMessage(XMLText)”。

0 投票
0 回答
695 浏览

c++ - ResolveAssemblyReference 找不到 dll,我不能强迫它查看它的位置

我有 n 个 csharp 项目和 cpp 项目的解决方案,这个 cpp 提供接口和头文件,因此这些 csharp 可以在其他 cpp 解决方案中使用。

构建机器配置为使用任何 CPU 架构构建 csharp 项目,因此它在 Solution\bin\Release 中为每个构建提供单个程序集。对于 cpp,anyCpu 不可用,因此我构建了两次项目并将程序集存储在 Solution\bin\Release\x86 和 x64 文件夹中。

这一切都是为了将​​它作为带有 .targets 文件的单个包打包在 nuget 中,以方便在其他 cpp 项目中使用。

问题是 cpp 项目正在使用 ResolveAssemblyReference 寻找 csharp 组件并且找不到它,从而给出误导性消息:

我尝试使用命令行属性、自定义目标/属性来替代 ResolveAssemblyReferences 行为,但没有任何运气。https://docs.microsoft.com/en-us/visualstudio/msbuild/resolveassemblyreference-task?view=vs-2017中描述的参数似乎是在构建过程中计算的,我无法注入任何值,应该在这种情况类似于 $(OutDir)..

一个可行的解决方案似乎是将 c# dll 复制到每个 cpp 文件夹中,但我认为这不是正确解决它的方法。

我得到的关闭是使用 /p:ReferencePath 如下所示:

"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MsBuild\15.0\bin\MsBuild.exe" /p:BuildProjectReferences=false /p:Configuration=Release /p:DebugType=full /p:DebugSymbols =true /p:PlatformToolset=v120 /p:WindowsTargetPlatformVersion=8.1 /p:ForceImportBeforeCppTargets="C:\Jenkins\Workspace\Solution\Cpp.props" /p:OutDir="C:\Jenkins\Workspace\Solution\bin\ Release\x86\" /p:Platform=Win32 /t:Build Interface\Interface.vcxproj /p:ReferencePath="C:\jenkins\workspace\Solution\bin\Release"

我的自定义 Cpp.props 可以:

并通过添加 /p:ReferencePath 它作为第二条记录添加到 AssemblySearchPaths 中,在 {CandidateAssemblyFiles}; 之后 但它仍然没有找到那些 dll

0 投票
2 回答
158 浏览

visual-studio - 我们是否也应该在将更改提交到存储库时暂存 .dll 文件?

我在一个解决方案中有五个不同的项目。当我将我的更改暂存到 git 存储库时,我只暂存我的 .cs 和迁移文件并排除所有 .dll 文件。

当另一个人试图在他们面临一些“缺少装配参考”错误之前提取我推动的解决方案时。这些错误似乎更加忙碌和令人沮丧。

任何人都请为此问题提出更好的解决方案。

0 投票
0 回答
215 浏览

visual-studio-2015 - 将 VS2015 迁移到 VS2019 参考缺失

我需要将VS2015版本升级到VS2019。我的电脑上安装了 VS2015 和 VS2019。当我使用 VS2015 构建我的项目时,一切都运行良好并且能够查看 GUI。当我以 VS2019 打开时,相同的项目,缺少引用。但它仍然可以成功构建而不会出错。

解决方案尝试不起作用:

1.) 打开和关闭 VS2019。重新打开还是一样。

2.) 重新安装 VS2019

3.) 添加参考,但参考页为空白。

VS2019 添加引用但为空选择

在此处输入图像描述

我的目标是能够在 VS2019 中查看 GUI。有人对此有解决方案吗?感谢是否可以帮助我。

VS2015 参考正确行为

在此处输入图像描述

VS2019 参考缺失

在此处输入图像描述

由于缺少参考,设计视图无法使用

在此处输入图像描述

谢谢!

0 投票
0 回答
12 浏览

visual-studio - 为什么程序集重定向在我的项目中不起作用

在一个 VB 项目中,我使用 Add-in-Express (v905-b4661-vs-std) 和 NuGet 包 Azure.Storage.Files.Shares (12.8.0) (Visual Studio 16.11, DotNet 4.7.2) 并得到了一个问题:

我尝试通过将其添加到我的 app.config 文件的配置部分来通过程序集重定向来解决此问题:

但是错误仍然会弹出(我已经尝试过Auto-generate binding redirects为我的项目选中和未选中,但这似乎没有什么区别)。

我还使用 4.0.5.0 作为新版本,因为当我通过[reflection.assemblyname]::getassemblyname('X.dll').version ... CompilerServices.unsafe dll 上的 Powershell 命令破解它时,它被报告为程序集版本,该 dll 在构建后位于项目的 ...bin\debug 文件夹中,但错误仍然弹出。

知道为什么重定向在这里不起作用(似乎)吗?

顺便说一句:我在另一篇文章中找到了版本检查命令;不记得是哪一个,所以我不能感谢作者,但这是我迄今为止看到的最简单的解决方案。