问题标签 [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 投票
5 回答
6272 浏览

.net - Visual Studio 2005,如何获取解决方案中使用的项目?

我有一个包含其他 70 个项目的解决方案。我的问题是:我怎么知道项目在哪里使用?我不想打开所有这 70 个项目来一一验证参考。如何查看哪个项目特别使用了一个项目?

编辑 我不想在 XML 或 VS 中的参考中进行 1 对 1 的搜索。我想要一个快速的方法来做到这一点。

0 投票
1 回答
202 浏览

winforms - WinForm 应用程序和 MS Office 参考资料

在我们的 WinForms 项目中,我们需要提供从 Excel 工作表导入数据的工具。

有一些方法可以在您的项目引用中引用 MS Office 文件(此处为 Office 2003)。

每次构建环境略有不同时,项目引用都会中断并显示 Excel 缺失错误。

我的问题是如何正确地将 Office 2003 文件引用到您的 WinForm 应用程序中?

0 投票
1 回答
117 浏览

c# - 对象如何获得对位于不同(且未引用)程序集中的类的引用?

我有两个项目:A/B。项目 A 是包含绑定到 B 中的对象(逻辑项)的所有 winform 的项目

A 有一个 A.Form 类型的对象

B 具有 B.Serializer B.Logic 类型的对象

现在,A 引用了 B(但 B 没有引用 A)并且 A.Form 包含 B.Logic 类型的成员变量。在某些时候,当所有数据都存储在 B.Logic 中时,我尝试通过调用 B.Serializer(B.Logic) 将此对象保存到磁盘。

此时我在序列化时出现错误,说 A.From 未标记为可序列化。

但是项目B根​​本没有引用A,即使它确实有一个成员引用A.Form,它甚至不应该编译。

0 投票
3 回答
2633 浏览

.net - 通过 dll 引用而不是 VS 中的项目引用来管理 .NET 程序集依赖项

我们有一个由多个子项目(大约 20 个)组成的 .NET 项目。有几个解决方案,每个解决方案只包含与特定解决方案相关的子项目。

为了允许任意解决方案,我们的子项目从不通过项目引用相互引用,而是通过直接 dll 引用。csproj 文件几乎没有调整,以使 HintPath 包含 $(Configuration),因此 Debug 构建参考 Debug dll,Release 构建参考 Release dll。

一切都很好,但有两个主要问题 - 一个很烦人,另一个非常严重:

  1. VS 不识别用于依赖计算的 dll 引用。每次添加新项目或引用时,我们都必须使用“项目依赖项”对话框手动指定依赖项。这很烦人。
  2. 我们既不使用 Resharper 也不使用 Visual Assist(很棒的工具,但我们不使用它们,这是给定的)。我们喜欢使用标准的“浏览至定义”命令(例如,可从源代码的上下文菜单中获得)。严重的问题是,如果一个项目使用项目引用引用另一个项目,则它仅适用于跨项目,并且当引用是直接 dll 引用时它不起作用,即使引用的项目包含在解决方案中!这真是太糟糕了,因为它不是导航到源,而是导航到元数据。

我正在寻求那些像我们一样使用 dll 引用并以某种方式克服这两个问题的人的建议。谢谢。

编辑:

请注意,除了“浏览到定义”问题之外,使用 Dll 引用而不是项目引用只会对项目经理产生一次成本 - 这是在添加新项目或新依赖项时更新每个受影响解决方案的项目依赖项必须介绍。这些项目依赖项保存在 .sln 文件中,并且在新项目到达或创建新依赖项之前不需要任何维护,这种情况并不经常发生。

我们使用 msbuild 在 CI 服务器上构建我们的项目,它使用与 VS 相同的 .sln 文件。有一个主 .sln 文件,其中包括所有子项目。

我想强调一个更严重的问题 - 无法浏览到另一个项目中的定义,尽管两个项目都在同一个解决方案中,只是因为引用是 dll 引用。这很烦人,也很烦人,VS 没有理由坚持使用项目引用来启用该功能。其他工具,如 Resharper 或 Visual Assist 没有此限制。唉,我们没有这些工具,而且在可观察的未来也不太可能拥有。

0 投票
1 回答
423 浏览

visual-studio-2008 - VS2008 中的单元测试强制重建所有依赖项

为什么,当我在 VS2008 中进行单元测试时——无论是使用运行还是调试——VS 坚持重建测试项目的所有依赖项,即我在单元测试中测试的项目?

有时它们并没有改变——我刚刚修改了一些单元测试。或者,也许我已经修改了其中一个程序集——但它坚持要重建所有这些程序集。

我在单元测试项目中对我的其他项目有正常的项目引用。

我们感激地收到任何建议,因为这会减慢我们尽可能有效地进行 TDD 的能力。

谢谢!

0 投票
4 回答
1981 浏览

com - Do I need to register the COM dll to be able to reference it on the .NET project?

I'm trying to reference a COM dll in visual studio by using the Browse tab and selecting the DLL. I noticed that if the DLL is registered on the system with regsvr32 I can reference it, but if it's not registered I receive an error selecting the dll file "A reference to 'file.DLL' could not be added. Please make sure that the file is accessible, and that it is a valid assembly or COM component."
We would like to keep the DLL not registered, so that we have less configuration needed on other development machines and on the development environments.
Is it too much to ask?
Thanks!

0 投票
1 回答
2353 浏览

visual-studio - 如何在项目中包含/引用文件而不将其复制到项目目录?

我正在 Visual Studio 2008 中编写一个应用程序。我有一个帮助文件,我想将它包含在我的项目的输出中。我希望我的帮助文件的最新版本保留在不是我的 Visual Studio 项目目录的文件夹中。例如 C:/Helpfiles。

我想将此文件包含在我的 Visual Studio 项目中,以便在构建项目时在我的项目输出中获得该文件的最新版本(位于 C:/helpfiles 中)。如果我只是“添加现有”并选择帮助文件,它会在每次构建时从 C:/helpfiles 获取最新版本吗?

0 投票
4 回答
10995 浏览

msbuild - 在 MSBuild 中确定 ProjectReference 的输出而不触发冗余重建

作为包含许多项目的解决方案的一部分,我有一个引用的项目(通过<ProjectReference>解决方案中的其他三个项目,以及其他一些项目)。在 中AfterBuild,我需要将 3 个特定依赖项目的输出复制到另一个位置。

通过各种 SO 答案等,我决定完成的方式是:

但是,我遇到了这个问题。该<MSBuild步骤的IncrementalClean任务最终删除了ProjectC. 在 VS2008 下运行此程序时,如果项目包含此目标,则如果我在整个解决方案上进行构建,则将build.force文件存放在 ProjectC 的obj/Debug文件夹中,然后触发 ProjectC 重新构建AfterBuild,而如果从构建中排除此项目,则 [正确] 不会触发 ProjectC 的重建(关键是 ProjectC 的所有依赖项的重建)。在这种情况下,这可能是特定于 VS 的诡计,不会在 TeamBuild 或其他命令行 MSBuild 调用的上下文中发生(但最常见的用法是通过 VS,因此我需要以任何一种方式解决此问题)

依赖项目(以及一般的解决方案的其余部分)都是用 VS 交互创建的,因此ProjectRefences 包含相对路径等。我已经看到提到这可能会导致问题 - 但没有完整解释原因,或者何时修复或如何解决它。换句话说,我对例如ProjectReference通过手动编辑.csproj 将路径转换为绝对路径并不感兴趣。

虽然完全有可能我在做一些愚蠢的事情,并且有人会立即指出它是什么(这会很棒),但请放心,我已经花了很多时间研究/v:diag输出等(尽管我没有尝试从从头开始 - 这是在相对复杂的整体构建的背景下)

0 投票
2 回答
3995 浏览

tfs - TFSBuild/MSBuild 和项目参考与文件参考

我们有一个使用由 TFS Build 构建的项目引用的大型 VS 解决方案,如下所示:

由于解决方案太大,我们有几个日常使用的较小解决方案:

问题是开发 SubSolution 的开发人员发现它没有构建,因为找不到项目引用,因此他们将项目更改为使用文件引用。

然后这会继续破坏 TFS 构建,因为它们尚未构建(即使项目在同一个解决方案中),所以无法找到这些文件引用。有没有办法解决这两种类型的引用之间的拉锯战。拆分解决方案的正确方法是什么?

0 投票
2 回答
6501 浏览

c# - VS2010:从 .NET 项目中添加对 Silverlight 项目的项目引用的警告

在 VS2010、Silverlight 4、.NET 4 中,我有一个 WCF 服务和一个 Silverlight 应用程序,Silverlight 不是通过添加服务引用而是通过共享合同来访问该类的。自然,这意味着我在 Silverlight 类库中拥有合同,并且该服务具有对该库的项目引用。

奇怪的是,这会导致引用上出现 /!\ 图标和警告:

无法引用项目“SilverlightClassLibrary1”。引用的项目针对不同的框架系列(Silverlight)

但是,该参考工作正常(我可以在我的 Silverlight 应用程序中使用该界面)并且构建良好。

这是一个错误吗?我的猜测是肯定的,因为如果您添加程序集引用而不是项目引用,警告是谎言并且也会消失。我提交了一个错误,这里也有更多信息。