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

visual-studio - 添加 WCF 代理类隐藏 Visual Studio 项目引用

我有一个奇怪的视觉工作室错误,困扰着我。

我正在使用 Visual Studio 2010

我的解决方案很小,包含 2 个项目:

项目 1 一个类库包含以下类:

  1. Namespace1.DataClass(保存数据的可序列化类)
  2. Namespace2.AccessorClass(具有通过 Linq 到 Sql 从数据库中提取 Namespace1.DataClass 实例的方法的类)

项目 2,一个控制台应用程序包含以下类:

  1. Namespace3.Program(具有从数据库中提取数据并通过 wcf 服务发送的主要功能)
  2. Namespace4.WCFProxy(svcutil生成的wcf代理)

WCF 客户端以以下形式向服务发送对象:

(这是svcutil生成的,所以为了节省篇幅我转述一下)

因此,在我的代理类中有对 Namespace1.DataClass 的引用。

在构建我的应用程序时,我首先创建了访问数据库的项目,然后创建了控制台应用程序,我将控制台应用程序的引用添加到了我的类库中,最后我生成了代理并将其(未编辑)添加到控制台应用程序项目。

一切看起来都很好,在构建之前没有 VS 编译错误。然后,当我构建时,VS 似乎忘记了从我的控制台应用程序项目到我的类库项目的引用,因此我得到了一堆编译错误。

如果我从项目中排除我的代理类,VS 可以再次看到引用。如果我重新添加代理一切都还好(没有错误和完整的智能支持),但点击构建,一切都再次陷入混乱。

有没有人遇到过这个问题?

干杯谢恩

0 投票
2 回答
5280 浏览

iphone - 如何在 xcode 4 中引用单独的项目?

如何引用另一个具有我希望在 XCode 4 中利用的代码的项目。特别是我试图从这里使用 NSDate 扩展。

一些注意事项:

  • 我假设我应该参考而不是尝试构建框架
  • 我尝试将现有的“Hello World”xcode 项目文件复制到我的项目中,但这似乎不起作用
  • 我是否需要基于“coco touch static library”选项创建一个新的“Target”?
  • 然后我需要编辑当前的产品方案,以便在我构建新目标时构建
  • 我到底需要在我的项目方面做什么 - 添加文件并选择扩展 Xcode 项目文件就足够了吗?

谢谢

0 投票
2 回答
8245 浏览

.net - 为什么在 Visual Studio 中构建失败,因为它无法从引用的程序集中解析命名空间?

我有 3 个类库项目。让我们称它们为 A、B 和 C。我已将project referenceA 和 B 添加到项目 C 中。

A & B 正在建设中,没有任何错误或警告。

项目 C 中的代码(类文件)使用了 A 和 B 中的公共类。当我在 C 中添加项目引用并查看 C 项目中的类文件(在构建项目 C 之前)时,我可以清楚地看到所有类和来自 A 和 B 的命名空间被解析。当我将鼠标悬停在类名(来自 A 或 B 的类)上时,它也会显示它的正确命名空间。

我在两个项目引用上都设置了Copy Local属性。True

然而,

  1. 当我运行全部重建(或在项目 C 上构建)时,构建失败,因为它无法解析命名空间!我可以进一步检查什么以确保一切都正确完成?
  2. 我从来没有发现 A & B 的程序集被复制到bin\debug项目 C 的文件夹中。为什么它不复制引用?(我已经看到了几个关于这个问题的问题,但提供给他们的解决方案都没有对我有用)
0 投票
2 回答
2826 浏览

visual-studio-2010 - Visual Studio 2010 插件:如何定位项目引用?

您如何以编程方式查找和迭代 Visual Studio 2010 解决方案中的所有项目和 dll 引用?

我可以迭代所有项目并找到该Project.ProjectItems属性,Project.Properties但没有找到任何引用引用的方法(双关语)。

这发生在加载项中,因此 DTE 解决方案比建议我们迭代文件的任何人都更可取。

根据以下答案提出的解决方案:

您需要找到并包含对 VSLangProj.dll 的引用(例如在 中Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies

然后您可以像这样迭代所有选定项目的项目和 DLL 引用

Tomas Lycken的相关资料:

_applicationObject 是我的加载项中的私有成员,例如

我在连接中设置它是这样的:

0 投票
5 回答
8366 浏览

visual-studio-2010 - Visual Studio 2010 DTE:如何使添加的 DLL 引用成为绝对而不是复制

概括:

当您添加特定的 DLL 时,我们需要使用 DTE 复制“添加引用”对话框的行为(它在 CSProj 文件中的引用中添加了一个提示路径条目)。

**注意:我在这里发布了另一个相关但不重复的帖子:https ://stackoverflow.com/questions/6690655/visual-studio-2010-add-in-how-to-get-a-references-提示路径属性有关此问题的更多信息,另请阅读该内容。我现在已经添加了一个体面的赏金来得到这个答案,并且很乐意对任何体面的答案进行投票:)*

到目前为止的故事:

我正在使用 DTE 以编程方式将项目引用转换为直接 DLL 引用。

假设我有一个简单的解决方案,其中一个Project2项目)引用了一个Project1子项目),我进行如下更改:

其中 project1DllPath 指的是"c:\somewhere\Project1\Bin\Debug\Project1.dll"文件。

我还不能解决的问题是新的引用不是指向 "c:\somewhere\Project1\Bin\Debug\Project1.dll"而是指向 "c:\somewhere\Project2\Bin\Debug\Project1.dll"(并且文件被复制到那里)。

如果我使用“添加引用”菜单直接/手动添加 DLL,它不会进行此复制。

如何将 DLL 引用添加到现有项目的 DLL,而不需要复制并引用它?

我尝试dllReference.CopyLocal = false;在 Add 之后添加,但除了设置标志之外它没有任何区别。创建后似乎没有修改路径的选项。

更新:我还尝试以编程方式从 Project2 中删除对 Project1 的任何 Build 依赖项,但这没有任何效果。

以下是 csproj 文件之间的区别:

作为一个项目:

作为 DLL 参考(路径完全丢失):

作为手动引用的 DLL:

看起来能够为 DLL 引用指定提示路径是关键。如何在 DLL 引用上设置提示路径(假设您只有 Reference 属性的句柄)?

更多信息(2011 年 7 月 20 日):

下面Muse VSExtensions的建议不会影响相关 DLL,因为已经从 DLL 的项目 BIN 复制到父项目的 BIN 文件夹。父项目不需要使用引用路径,因为它的输出文件夹中已经有子 DLL。

项目的 .csproj.user 文件也Reference Paths保存到项目.csproj.user 文件中,而不是项目.csproj 文件中。

0 投票
1 回答
1209 浏览

.net-3.5 - 无法解析主要引用 - 针对不同版本的 .NET 的 dll

在我的解决方案中,我有项目 A 和 B。项目 A 的目标是 .NET 4.0。项目 B 必须像 Sharepoint 2010 一样以 .NET 3.5 为目标。项目 B 引用了项目 A。编译时,我收到以下警告的倍数:

无法解析主要引用“projectA.dll”,因为它间接依赖于具有更高版本“4.0.0.0”的 .NET Framework 程序集“mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089” ” 比当前目标框架中的版本“2.0.0.0”。c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets

我如何解决它?谢谢!

0 投票
0 回答
137 浏览

android - Eclipse 对“项目引用”检查的项目做了什么?

右键单击项目-> 属性-> 项目引用。将显示工作区中的项目列表供您检查。

如果它只按照我的想法进行(当您想要构建/运行并更新引用的项目时强制重建),那么当您将项目添加为 Properties-> Android 中的库时,ADT 插件不应该检查它吗?我应该建议该功能吗?如果有,在哪里?

0 投票
1 回答
16743 浏览

visual-studio-2010 - Visual Studio 2010 中的项目构建顺序?

我们有一个 Visual Studio 2010 解决方案,其中包含 120 多个以某种方式相互引用的项目。所有项目间引用都是项目引用而不是文件引用,这有助于 Visual Studio 自动确定项目构建顺序。在 120 个项目中,我们有一些不相互依赖的核心项目,这些项目被其余项目广泛引用。因此,这些项目位于项目构建顺序的顶部。这些核心项目具有来自 .NET 框架、企业库的引用(其中一些具有第三方 dll 文件引用,如 zip 实用程序)。

我无法弄清楚为什么这些核心项目是以特定方式排序的。非相互依赖项目的项目构建顺序的算法是什么?

PS:我明白我可以通过使用项目依赖项的依赖项选项卡创建一个虚假的依赖项来影响这个顺序。

0 投票
1 回答
241 浏览

visual-studio-2010 - 由于潜在的 .NET v4.0 引用,VS2010 构建 .NET v3.5 项目失败

尝试构建一个包含 132 个项目的 Visual Studio 2010 解决方案,这些项目不使用任何文件引用(仅项目引用)。当我构建整个解决方案时,我会遇到很多这样的构建错误:

解决方案中所有项目的目标框架版本是 v3.5。

因此,我开始根据项目构建顺序一个一个地构建项目。在其中一个项目(比如项目 A)上,我在构建输出中获得了以下信息(注意框架版本)。此项目 A 构建成功。当我构建下一个项目时,比如说项目 B,它通过项目引用(而不是文件引用)引用项目 A,然后它会引发上述构建错误。因此,项目 B 似乎是罪魁祸首。

B项目详情

解决方案配置为Debug。

  • 在项目 B 的引用树中,项目 A 引用的属性显示

1) “运行时版本”为 v2.0.50727。
2)“复制本地”为真。
3)“强名称”为真。
4)“版本”为1.0.xxxx.xx(在项目A的AssemblyInfo.cs中指定)
5)没有“特定版本”键(因为它是项目参考)

  • 项目 B 的 AssemblyInfo.cs 有以下内容:

1) [程序集:ComVisible(false)]
2) [程序集:Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")]
3) [程序集:AssemblyVersion("1.0.xxxx.xx")]
4) [程序集:AssemblyFileVersion("9.0.xxxx.xx")]

  • 项目 B 属性具有以下内容:

1)“目标框架”为“.NET Framework 3.5”
2)“输出类型”为“类库”
3)“将警告视为错误”为“无”

我的问题

现在,我所有项目的属性中指定的目标框架是.NET Framework 3.5

当我的目标框架是 v3.5 时,构建引擎如何使用 v4.0 的 GAC 实用程序?

搜索所有文件以查看是否在某处配置了 .NET 4.0,但找不到它。这似乎是上述问题的潜在根本原因。还是我错过了其他东西?我相信我已经涵盖了通常的嫌疑人。

另外,当两个项目的目标框架版本都是 v3.5 时,为什么项目 B 中的项目 A 引用的运行时版本会说 v2.0.50727?

PS:我尝试删除项目引用并添加其文件引用,但仍然给出相同的构建错误。(这通常在它是一个长名称问题之前起作用,但在这种情况下不是)。

更新 1:

上述构建错误的构建输出是:

更新 2:

项目 A 的构建后事件命令行具有以下内容,解释了为什么构建使用 v4.0 的 GAC 实用程序!现在我需要弄清楚如何在那里获得 v3.5 Gacutil。我的第二个问题仍然存在。

0 投票
1 回答
1917 浏览

c# - 尽管有项目引用,但 WPF 应用程序中不存在类库命名空间

我有一个带有“hello world”WPF 应用程序和一个类库项目的 VS2010 解决方案。在我的类库中,我在名为 ReportImageMerge.Core 的命名空间中定义了一个类。我的 WPF 应用程序项目引用了该项目,但是当我运行构建时,出现了几个错误。其余是对我的自定义命名空间中对象的引用的父错误是这样的:

奇怪的是,如果我删除项目引用并将其添加回来,我的错误会与所有红色波浪线一起消失。只有当我重建时,我才会重新看到错误。命名空间和类定义如下:

类和名称引用如下:

我发现的与我的问题相关的唯一信息似乎集中在目标框架上。WPF Application 默认设置为“.NET Framework 4 Client Profile”,类库设置为“.NET Framework 4”。对于使用 Silverlight 项目引用类库的人的大多数建议是使用 Silverlight 特定的类库。WPF 应用程序项目似乎并不相同。

我已经看到了将引用项目的目标框架更改为与引用的应用程序相同的建议,但如果我这样做,我会收到未指定的运行时错误。

在构建我的解决方案后,如何让我的类库命名空间被识别?