问题标签 [assembly-references]

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 投票
1 回答
4680 浏览

c# - 无法加载文件或程序集或其依赖项之一。该系统找不到指定的文件。(不允许 GAC)

我有一个“主”程序,它使用反射动态加载我自己的“plugin.dll”文件。“plugin.dll”文件通过使用Visual Studio 引用来引用第三方“device.dll”。只要“device.dll”和“plugin.dll”与“Main”程序位于同一文件夹中,或者“Main”程序引用了“plugin.dll”,一切正常。但是,一旦我将“device.dll”文件移动到另一个文件夹,我就会收到以下错误消息:“无法加载文件或程序集或其依赖项之一。系统找不到指定的文件。” 出现问题是因为程序找不到“device.dll”文件。“复制本地”属性或“参考路径” 对这个问题没有任何影响。我知道我必须指定“device.dll”的路径,但如果不将“plugin.dll”和“device.dll”放入 GAC(全局程序集缓存),我找不到方法。GAC 不是一个解决方案,因为第三方 dll 也必须是强命名的(再次分解和组装),这是版权许可所不允许的。

其他详细信息:使用 Visual Studio 2013 和 .Net 框架 4.0 FUSLOGVW 不会记录任何错误(任何想法为什么?)。

期待您的建议,在此先感谢。

0 投票
7 回答
62736 浏览

c# - 由于缺少未丢失的程序集引用,Visual Studio 拒绝构建项目

我正在构建 ac# windows 服务,并在我的项目中添加了几个程序集引用(对我自己的其他项目)。

构建时出现以下错误:

“错误 25 找不到类型或命名空间名称‘TestClass’(您是否缺少 using 指令或程序集引用?”

有趣的是,csproj 文件中的引用路径是正确的,最重要的是,引用项目中的类和命名空间(根据 Visual Studio 是缺失的)正在被 Intellisense 甚至“转到定义”拾取功能工作正常。此外,我在与我的新 Windows 服务完全相同的文件夹中还有其他项目,它们很好地获取了程序集引用。所有引用的项目都包含在解决方案中。

我使用 Visual Studio 2013 Update 3。我确实没有可以显示的代码可以为您提供更多信息,但如果您想查看一些屏幕截图或其他内容,请告诉我。

迄今为止的尝试:

更新 当我在参考列表中选择“缺失”参考之一并转到属性时,没有定义路径。然而,相对路径在 csproj 文件中是正确的。令人困惑。

更新 2 删除所有引用,重新加载项目,然后为我进行清理修复。显然,该问题是由未在构建堆栈中更新的所有 dll 引起的。

0 投票
2 回答
8540 浏览

c# - 缺少程序集引用 Microsoft.IdentityModel.Clients.ActiveDirectory

我目前正在 VS2013 中开发 Xamarin.Android 应用程序。我想按照本指南在我的应用程序中实施 Azure Active Directory 。然后我Microsoft.IdentityModel.Clients.ActiveDirectory按照描述添加 nuget 包。

然后我想添加一个 AuthenticationResult 属性,但是我得到了一个缺少的 assemble 参考错误。即使我明确地写(或拖放)Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationResult

我到处寻找解决方案,但没有一个适合我的问题。(升级/降级目标框架没有解决问题)如果有人对此有任何想法,我将非常感激,因为我已经没有想法了。

谢谢你。

0 投票
0 回答
240 浏览

c# - 在 Visual Studio 2013 中查找缺失的程序集

我从 Git 存储库下载了一个 VS2013 项目。存储库不包括其中的程序集引用。但是,我的 SDK 包含项目所需的所有参考资料。问题是引用的路径是空的。目前我不得不一个一个地删除并重新添加每个程序集,这浪费了太多时间。

有没有办法设置包含所有引用的文件夹的路径并让 VS 项目自动查找和更新它们?

0 投票
1 回答
615 浏览

entity-framework - 跨项目的程序集引用 - 需要多个实体框架引用?

为了这个问题,我有一个结构如下的项目,其中每一层都映射到我的 Visual Studio 解决方案中的一个项目:

  • 表示层
  • 业务逻辑层
  • 数据层(使用实体框架)

我在数据层中定义了存储库类。在 BL 层中实例化它们时,我收到一条错误消息,指出缺少对实体框架程序集的引用。我添加了对在我的 DL 中使用的相同实体框架 dll 的引用,它可以工作。

我的问题是:为什么 BL 引用 DL 是不够的,为什么我还需要在 BL 中添加对 EF 的“附加”引用?我显然不想在我的解决方案中控制多个 EF 版本。

我认为我的 DL 是一个“原子”单元,它的所有对象都是自包含的,不需要其他任何东西来正常运行。为什么在 DL 中定义的实例化类时我仍然需要添加 EF 引用,DL 自己的 EF 引用呢?

0 投票
1 回答
3361 浏览

.net - .NET 中的引用是如何定位的?

.NET 在运行时使用什么过程来定位被引用的程序集,它与在编译期间用于定位被引用程序集的过程有什么不同?我对搜索的位置及其搜索顺序以及可能影响结果的任何参数/配置设置特别感兴趣。

0 投票
2 回答
899 浏览

c# - 在不同的机器上加载“找不到类型或命名空间名称‘NamespaceExample’”错误

我和我的合作者一直在不断地遇到这个问题,因为我们试图更新项目并在 GitHub 上分享它。是的,我已经用谷歌搜索并搜索了几天的论坛。没有什么...

基本上,即使存在正确的“使用”语句并且包看起来完好无损,我们也会得到这些命名空间错误的清单。每次我尝试在不同的机器上打开和构建项目时都会发生这种情况。

这里有些例子...

但是...

找不到类型或命名空间名称“IOwinContext”(您是否缺少 using 指令或程序集引用?)

找不到类型或命名空间名称“IAuthenticationManager”(您是否缺少 using 指令或程序集引用?)

'IOwinContext' 类型在未引用的程序集中定义。您必须添加对程序集 'Microsoft.Owin, Version=2.1.0.0, Culture=neutral

“IDataProtectionProvider”类型是在未引用的程序集中定义的。您必须添加对程序集 'Microsoft.Owin.Security, Version=2.1.0.0, Culture=neutral

“HttpContextBase”不包含“GetOwinContext”的定义,并且找不到接受“HttpContextBase”类型的第一个参数的扩展方法“GetOwinContext”(您是否缺少 using 指令或程序集引用?)

等等等等等等……

据我所知,所有这些都被引用并且软件包似乎已安装。当然,我是新手,可能会感到困惑。一次又一次地遇到一个愚蠢的问题,就像我的谷歌搜索和挣扎现在应该解决的问题一样。

TY 提前为您提供时间和帮助。

0 投票
1 回答
1074 浏览

android - 当未标记为适用于所有平台时,Unity 未添加对托管程序集的引用

我有一个具有下一个结构的 Unity 本机插件:

  • Plugins/Android/Foo.jar// 原生安卓库
  • Plugins/Android/Foo.Android.dll// 托管 Unity 包装器以允许访问本机 Android 例程(标记为仅适用于 Android)
  • Plugins/iOS/libFoo.a// 原生 iOS 库
  • Plugins/iOS/Foo.iOS.dll// 托管 Unity 包装器以允许访问本机 iOS 例程(标记为仅适用于 iOS)

当我选择 Android 或 iOS 平台并在 MonoDevelop 中打开我的 Unity 项目时,它不会添加对 Foo.Android.dll 的引用。iOS 的情况也一样。还Unity Editor Console包含关于在插件外部的 Unity 代码中使用的未引用类的错误。

Assets/MainScript.cs(3,11): error CS0234: The type or namespace name命名空间中不存在 Bar'Foo'. Are you missing an assembly reference?

在分别在 iOS/Android 下打开 MonoDevelop 之前更改Foo.iOS.dll/Foo.Android.dll平台设置时,它按预期工作。Any Platform

当我构建项目时,它已为 iOS 和 Android 成功构建。

我需要在哪里放置我的托管库或者我应该使用哪些设置来强制 Unity 添加适当的库作为打开 MonoDevelop 项目的参考?

Unity 编辑器 5.2.0f3、OS X Yosemite 10.10.5 (14F27)

0 投票
1 回答
206 浏览

c# - 分离 POCO 类后无法从 BLL 引用 DAL 项目

除了我的 Web 应用程序项目之外,我的解决方案中还有一个 BLL 和 DAL 项目。我正在使用实体框架 5,并且在 DAL 项目中有 .tt 文件。一切正常,但随后我尝试根据链接将 .tt 文件分离到一个新项目“实体”中。

实体和 DAL 项目构建良好。但是对于我的 BLL 中具有“使用 DAL”的所有类,我有一个新错误“找不到类型或命名空间 DAL”。我尝试清理所有解决方案并按顺序重建它们,我还尝试从 BLL 项目中删除 DAL 引用并读取它,但仍然是相同的错误。

什么可能导致这个问题?我还可以添加哪些信息来帮助找出问题所在?

在此处输入图像描述

编辑:

这是生成的 POCO 类的示例

0 投票
0 回答
154 浏览

c# - 为什么编译器在另一个程序集中使用重载时有时要求您还引用子程序集?

关于下面提到的编译器错误以及如何解决它,有很多问题/答案,但这里的问题是询问一些见解,为什么在这种情况下需要这样做。

为什么使用另一个引用的项目 B 的方法的重载的项目 A(在其中一个重载签名中使用项目 C 的对象)要求您从项目 A 引用项目 C,即使您从不使用来自项目 A 的对象C项目?

我想这一定与解决使用哪个重载有关,但我想了解背后的概念。

这是一个例子:

将每个类放在自己的程序集中。

CS0012 类型“C”在未引用的程序集中定义。您必须添加对程序集“C,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”的引用。

在使用程序集 B 的重载时,您会得到有趣的结果,因为并非每个组合都会产生错误:


另一个例子:


还有一个例子:

因此,这可能与重载解决方案的完成方式有关。但是,我不明白为什么编译器不能直接在依赖树上工作并要求我直接引用?无论如何都不必在程序集B中完成重载解决方案吗?