问题标签 [project-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 回答
313 浏览

asp.net-mvc-3 - 项目参考 dll --> FileLoadException

我在 .Net 中的项目引用有问题 我有三个项目: Console Application MVC 3 Web Application Class library (Mails)

控制台和 Web 应用程序都引用了 Mails 项目。邮件项目引用 RazorEngine.dll。

现在,当我运行控制台应用程序时一切正常,它使用邮件没有错误。当我运行 Web 应用程序并尝试使用邮件时,它会抛出 FileLoadException。

我不知道为什么会发生这种情况,因为这两个应用程序都使用 Mails 项目中的同一段代码。

RazorEngine.dll 在我的网络应用程序的 bin 文件夹中,所以我不知道为什么找不到它。

请帮忙!!!我需要在工作中解决这个问题:S

0 投票
0 回答
53 浏览

tfs - 在多台开发机器上使用 NuGet 和 TFS(不复制 DLL)

可能重复:
使用 NuGet 在开发人员之间共享代码

我最近从通过显式引用存储在我的 TFS 中的“libs”文件夹中的项目中的第 3 方库 DLL 来管理库使用切换到让 NuGet 处理此类项目引用。但是,当我在一台机器上添加 NuGet 引用时(例如 Daniel Crenna 的TweetSharp),在另一台机器上获取项目的最新版本后似乎没有出现 DLL。但 NuGet 认为它们已安装,因此我没有选择刷新安装。

也许这通过一些屏幕截图更容易理解。(我将包括小的点击到更大的。)

以下是 NuGet 在原机上添加的项目引用:

原机截图

这是从 TFS 获取最新版本的解决方案并重建后第二台机器的相应屏幕截图:

第二台机器的截图

您会看到正确的引用在项目中,但它有黄色警告三角形,因为 DLL 不可用,但 NuGet 对话框仅提供“卸载”而不是“安装”或“重新安装”。

我应该如何在多台开发机器上将 NuGet 与 TFS 结合使用?

0 投票
2 回答
49 浏览

wcf - 如果同一服务器上的项目引用 WCF 项目来访问其方法,那么它不是通过 HTTP 进行通信的,对吗?

如果我的 MVC 项目正在引用(常规项目引用而不是服务引用)WCF 服务项目,我没有使用 HTTP 进行通信,对吗?

我想让我的 WCF 服务通过 web 上的 HTTP 暴露给多个移动和 3rd 方客户端,但是由于更高的性能,我想在没有 HTTP 的情况下使用我自己的应用程序。

我目前正在做什么来实现这一目标?

0 投票
1 回答
163 浏览

c# - 错误发生在 Debug 上,但不是在 Start New Instance 上,并且仅在另一个项目中出现 Content Reference

我有一个 Visual Studio 2010,XNA 4.0 游戏解决方案。称之为“游戏”。它有一个名为“Game”的项目和一个名为“GameContent”的关联内容项目。我还在名为“LevelEditor”的解决方案中创建了第二个项目,其中包含一个名为“LevelEditorContent”的关联内容项目。

Game 和 LevelEditor 都可以从自己的内容项目中加载内容,没问题。不过,我决定看看是否可以让 LevelEditor 从 GameContent 加载内容,所以我在 LevelEditor 中添加了对 GameContent 的内容引用。

现在,当我单击“调试”或按 F5 时,游戏会在其中一个内容上出现 FileNotFound 错误并崩溃。如果我从 LevelEditor 中删除内容引用,游戏将再次运行。我不知道为什么。游戏是唯一的启动项目。

更奇怪的是,如果我在解决方案资源管理器中右键单击游戏项目,选择调试,然后选择“启动新实例”,游戏运行正常 - 根本没有 FileNotFound 错误 - 无论 LevelEditor 是否具有该内容引用。

为什么不同项目中的内容引用会破坏游戏加载其内容的能力?F5/Debug 和 Start New Instance 之间有什么不同会导致使用前者而不是后者发生错误?

0 投票
2 回答
135 浏览

.net - Visual Studio 2010 中的引用转发(从库到可执行文件)

我有一个 C# 库,它有 System.Data.SQLite 作为参考,还有一个使用该库的可执行文件(作为第二个项目)。

在库中,我有一个引用 System.Data.SQLite 中的类(特别是SQLiteDataReader类)的函数:

该库可以正确编译,但不能正确编译调用此函数的可执行文件。

这在构建时出现错误,说我“必须添加对程序集'System.Data.SQLite'的引用”。我知道这是由于 IEnumerable,但为什么不通过我的库转发引用?我真的必须在我的可执行文件中添加对 System.Data.SQLite 的引用吗?

0 投票
1 回答
392 浏览

.net - 所有相互引用的项目都需要在同一个目标框架中吗?

我有一个windows-form包含三个子项目的应用程序。

当我尝试将项目 B的引用添加到项目 C时,它会很好地添加引用。但是,当我构建项目时,会出现错误消息,指出我缺少对Project B的引用。

但后来我发现项目 C被设置为目标框架 -.net framework 4 client profile项目 B .net framework 4.当我在项目 c 中将目标框架更改为 .net 框架 4 时,一切都开始正常工作了。这背后的原因是什么?

如果所有项目相互引用,是否有必要在同一个目标框架中?

谢谢

0 投票
1 回答
749 浏览

visual-studio - VS/MSBUILD:复制子项目的输出文件,不添加对exe的引用

我有一个解决方案,它由主应用程序MainProject和几个插件项目Plugin1Plugin2组成。它们中的每一个都构建在 Visual Studio 中的一个单独项目中。

为了构建解决方案,我希望将插件的所有文件复制到主应用程序的输出目录中。但我不想MainProject.exe包含对插件 dll 的显式引用(它们是动态加载的)。因此定义项目引用MainProject是行不通的。

我可以使用构建后步骤“手动”复制文件(如C# - Copy dlls to the exe output directory when using dependency injection without references? 中所述),但因为每个插件可能有多个文件,它们也会不时更改此解决方案的维护相当繁琐(特别是因为我确实有不同的构建配置,它们每个都生成不同的文件)。此外,我想轻松选择应该为某个构建复制哪些插件。

执行此操作的最佳方法是什么,可能涉及自定义 MSBuild 配置更改?

0 投票
1 回答
6019 浏览

asp.net - Ninject 程序集与引用的程序集不匹配

设置:

  • ASP.NET MVC3
  • 忍者 v2.2.1.4
  • 忍者 v3.0.0.15
  • Ninject.MVC3 v3.0.0.6
  • Ninject.Web.Common v3.0.0.7

使用 NuGet,我的 UnitTest 项目引用了 Ninject v2.2.1.4

我的 Web 项目引用了 Ninject v3.0.0.15、Ninject.MVC3 和 Ninject.Web.Common

问题:

在我的 web 项目的 bin 文件夹中打开 win explorer,我构建了我的解决方案,我可以看到 Ninject v2.2.1.4 已复制到我的 web 项目的 bin 目录中。然后被 Ninject v3.0.0.15 取代。

当我按 F5 进行调试时,Ninject.dll v3.0.0.15 被 Ninject v2.2.1.4 替换,导致以下错误:

无法加载文件或程序集 'Ninject, Version=3.0.0.0, Culture=neutral, PublicKeyToken=c7192dc5380945e7' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)

是什么赋予了?

0 投票
1 回答
1733 浏览

.net - 如何自动更新 .NET 项目 COM 引用?

我有一个旧版 VB6 COM DLL,它作为参考包含在 .NET 项目中。我的手动构建过程如下所示:

  1. 构建 VB6 DLL
  2. 将 VB6 DLL 复制到参考目录
  3. 注册 VB6 DLLregsvr32
  4. 在 .NET 项目中,删除旧的引用
  5. 添加对新 VB6 DLL 的引用(浏览)
  6. 将引用的独立属性设置为 True
  7. 构建 .NET 解决方案

我正在自动化这个过程。步骤 4 到 6 给我带来了麻烦。当我注册新的 VB6 COM DLL 时,.NET 项目中的旧引用无效。通过查看项目文件,我看到了这一点:

我相信我需要Guid用 COM 的新 clsid 自动覆盖该属性,并且我可能需要更改VersionMajorVersionMinor属性。

不幸的是,这些似乎不是 VB6 COM DLL 文件的属性。我在哪里可以获得这些信息和/或我什至走在正确的道路上?是否有一些工具或选项可以自动为我执行此操作?

编辑

如果我不更新引用,我得到的构建错误是 error MSB3179

错误消息的实际文本是:

c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(2580,9):错误 MSB3179:隔离 COM 引用“DllName”时出现问题:未检测到此组件的注册类。[路径/到/projfile.vbproj]

...其中“DllName”是我的 DLL 名称,“path/to/projfile.vbproj”是带有 COM 引用的项目文件的完全限定路径。

0 投票
1 回答
1973 浏览

visual-studio-2010 - 解决不正确的项目引用 GUID

我在 Visual Studio 解决方案中有一些项目,这些项目最终得到了包含引用项目的错误 GUID 的项目引用。(可能是由于引用的项目在某个阶段被重新创建)

例如。考虑一个具有以下属性的项目 CoreProject.csproj:

另一个项目包含对此的引用,但在某个阶段 GUID 已更改并且现在不正确。

该解决方案仍然在 Visual Studio 和 msbuild 中正确加载和构建,但我怀疑 GUID 错误可能会对 VS 中的性能产生一些影响。

解决方案非常大,许多项目都有这个问题,我不希望手动重新添加这些引用。是否有任何工具或宏可以“修复”项目引用 GUID?