问题标签 [dll-reference]

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 回答
587 浏览

visual-studio-2012 - VS2012 在 x86、x64、AnyCPU、AnyCPU32bitpreferred 和引用 3rd 方 DLL 之间进行选择

我正在寻找建立新 VS2012 C# 项目的最佳方法的建议。我想同时针对 x86 和 x64 架构。但是,我有必须引用的第 3 方 DLL。提供了同一个 DLL 的两个版本;一个为 x86 和 x64 编译。话虽如此,我是否需要专门针对 x86 和 x64?我认为 AnyCPU 或新的 AnyCPU32bitpreferred 不适合我的情况。此外,在同一个项目中引用 DLL 的正确方法是什么(它们具有相同的名称,但一个是 32 位,另一个是 64 位)。谢谢你。

0 投票
0 回答
101 浏览

c#-4.0 - 项目参考编译错误

在我的 C# 解决方案中,有一个 Web 服务项目,其中添加类库项目的项目引用不起作用,它会引发编译错误说 -

命名空间“abc.pqr”中不存在类型或命名空间名称“xyz”(您是否缺少程序集引用?)

abc.pqr.xyz 来自被引用的类库。

虽然添加 dll 引用不会引发任何编译错误。

我什至检查了框架,两者都是.net framework 4。

还有一件事,需要参考的项目是一个Web服务项目(Framework 3.5,转换为4.0)。

我添加了另一个 Web 服务(然后转换为 4.0),然后添加了项目引用添加了相同的代码,编译顺利。

问题在于解决方案中只有一个项目。

请帮我找出解决办法。

0 投票
3 回答
7098 浏览

c# - 如何将位于不同文件夹中的 C# dll 引用到使用该 dll 公开的接口的不同文件夹中的 C# winforms exe

我有一个 C# windows 窗体,它使用位于与 EXE 位置不同的文件夹中的 Utility.dll。Utility.dll 包含一个类 UtilityClass 和一个接口 ILoadString。当我没有在 Form1.cs 类中继承 ILoadString 接口时,我可以通过 Program.cs 中的 AppDomain.AssemblyResolve 事件成功加载 Utility.dll。

当我尝试在 Form1.cs 中继承 ILoadString 接口时出现问题。当我尝试运行该项目时,我从 Visual Studio 收到一个 FileNotFoundException 说“无法加载文件或程序集'实用程序,版本 = 1.0.0.0,文化 = 中性,PublicKeyToken = null'或其依赖项之一。系统找不到指定的文件。” 该控件甚至不会出现在 Program.cs 中的静态 void Main() 中。我认为 CLR 正在尝试在开始时加载 Utility.dll,因为我的 Form1.cs 正在继承 ILoadString。

注意:在添加引用 Utility.dll 的复制本地设置为“假”。所以exe文件夹不包含这个dll。

在这种情况下,如何从其他文件夹加载 Utility.dll?任何帮助表示赞赏。

提前致谢。

我在下面粘贴我的代码。

我的 Windows 窗体在这里....

这是来自 Utility.dll 的 UtilityClass.cs

这是来自 Utility.dll 的接口 ILoadString.cs

0 投票
0 回答
219 浏览

visual-studio-2012 - Visual Studio 2012 间接引用未将 dll 复制到 bin

我正在使用 Visual Studio 2012。有问题的项目位于 VB.Net 中。

我有一个 Web 项目 (MVC3),它引用了另一个项目,我们将其称为 webLogic.dll,它基本上是从网站到数据库之间的过渡。webLogic.dll 引用了我们的 dataStorage.dll(其中包含 SQL 和数据库连接详细信息等),因此 Web 项目没有对 dataStorage.dll 的引用。其目的不是完全相关,而是将其设置为使网站不知道或不关心数据的存储方式。

这是问题所在,如果我在解决方案上运行干净然后重新构建,dataStorage.dll 不会被复制到 Web 项目的 bin 目录,但 webLogic.dll 会被复制。显然,在调试时这会惨遭失败。

但是,如果我随后在解决方案上运行重建(不先进行清理),dataStorage.dll 确实会被复制到 Web 项目的 bin 文件夹中。

有没有人知道为什么会发生这种情况,或者我可以做些什么来确保复制 dataStorage.dll 而不添加对它的引用?

0 投票
1 回答
84 浏览

c# - 如何跨项目“携带”引用

我有 2 个项目:X 和 Y。项目 X 是一个类库,可以说是 EF 6。项目 Y 作为引用 X 的控制台应用程序。如果我不添加,为什么会出现无法加载依赖项异常,让比如说,EF 6 到项目 Y?有没有办法“携带”这些对项目 Y 的引用?

这里的想法是 Y 不应该知道 EF-6,更不用说它的依赖了!

0 投票
2 回答
2343 浏览

vb.net - 在 Kofax 文档验证脚本中引用 VB.NET DLL

我们正在为 VB.NET 3.5 中的 Kofax Capture 9.0 / 10.0 编写验证脚本。我们知道如何使用管理模块创建脚本,以及如何使其运行。

问题是我们需要引用一个位于远程机器上的 dll。(GAC 不是选项)这个 dll 包含我们在每个验证脚本中需要的抽象类。

即使将 dll 放在本地(复制本地),验证模块 (index.exe) 也会立即抛出“找不到引用”异常,即使项目编译得很好。

我想基本问题归结为:我们将 dll 放在哪里,以便验证模块找到它们?

0 投票
2 回答
586 浏览

c# - DLL 参考之间的区别?和用途?

请任何人解释这一点。这个问题有助于理解常见的事情

问题:

当您“DLL通过浏览选项将一个项目的引用添加DLL到另一个项目和将解决方案项目的引用添加到另一个项目以及从一个项目复制粘贴到另一个项目”之间有什么区别?

我在谷歌上找到了答案

回答:

添加项目引用会将本地项目的 DLL 添加到引用它的项目中,并且每次编译解决方案时,都会将该项目的更新 DLL 复制到另一个项目。因此,当您完成构建过程时,如果您有 5 个项目,每个项目都会重新构建其 DLL,并将该 DLL 复制到其引用中。

但:

我不知道我们从一个项目复制粘贴到另一个项目时的过程和区别?

0 投票
0 回答
1019 浏览

c# - Visual Studio DLL 参考 - 使用相对路径和 $(ConfigurationName) 来选择相应的 DLL?

我有 2 个单独的 Visual Studio C# 解决方案。一种解决方案包含生成 DLL 文件的项目(类库项目),另一种解决方案包含依赖于其他解决方案的 DLL 文件的项目。

关于将第一个解决方案中的 DLL 文件添加为对第二个解决方案中每个项目的引用,我有两个问题。

  1. 当我将 DLL 文件添加为引用时(使用浏览选项),有没有办法使用相对目录,这样如果我将解决方案移动到不同的文件夹,我就不必更新引用了?(假设这两种解决方案相对于彼此总是位于相同的位置。)

    例如:....\Solution1\Project1\bin\Debug\Project1.dll

  2. 如果我将 DLL 解决方案的配置从 Release 更改为 Debug,我希望其他解决方案项目引用 Debug 文件夹中的 DLL,反之亦然。将 DLL 文件添加到每个项目时,我可以在 DLL 文件路径中使用 Visual Studio 宏 $(ConfigurationName) 之类的东西,以便根据我是在调试模式还是发布模式下构建,我使用正确的 DLL 文件吗?

    例如:....\Solution1\Project1\bin\$(ConfigurationName)\Project1.dll

谢谢你。

0 投票
1 回答
831 浏览

c# - ASP.NET || 视觉工作室 || 无法加载文件或程序集?我能做些什么?

我正在尝试使用 MVC 4 附带的“登录和注册”,当我填写注册页面(用户名和密码字段)并点击“注册”按钮时,会弹出此异常:

例外

我得到了这个错误,我尝试了几件事......似乎没有任何工作..

我尝试删除引用并使用正确的路径再次添加它 - 现在正在工作。

我不明白为什么 Visual Studio 在此路径中寻找 dll:“C:\Program Files (x86)\”(我有其他 dll 我从该文件夹中引用它)

我该如何解决这种情况?

这是问题所在:

源错误:

我不知道这是什么:

堆栈跟踪:

0 投票
1 回答
359 浏览

.net - fusion 程序集加载器如何决定加载哪个 DLL 版本

为简单起见,假设本地文件夹中没有 DLL,或涉及的配置文件,或发布者策略或自定义解析。引用 DLL 的唯一位置是在 GAC 中。

融合如何决定在 GAC 中选择哪个版本的 DLL(所有其他条件相同),优先级顺序是什么?

例如,如果在我的项目中,我引用了 10.5.0.0 版本的 DLL。它会选择 10.5.0.0 或 10.5.1.0 版本的 DLL。或者,如果我在 GAC 中只有版本 10.4.0.0,它会起作用还是会引发错误?这些规则是否会根据更改的主要/次要/构建/修订部分而改变?

如果项目引用“特定版本”设置为 True 或 False,这有何不同?

如果引用是 DLL 引用或项目引用,这有何不同?

我猜某处有一个 MSDN 网站说明了它是如何工作的,但我似乎找不到它。我不想覆盖行为,我只想知道默认行为是什么。