问题标签 [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.
.net - .NET 中的引用是如何定位的?
.NET 在运行时使用什么过程来定位被引用的程序集,它与在编译期间用于定位被引用程序集的过程有什么不同?我对搜索的位置及其搜索顺序以及可能影响结果的任何参数/配置设置特别感兴趣。
c# - 与 System.Net.FtpClient 的引用冲突
我有一个旧的 C# .NET 2.0 应用程序,我需要添加一个 FTP 客户端(不能用简单的FtpWebRequest
唉)并尝试包含System.Net.FtpClient
来自https://netftp.codeplex.com/的
代码自动完成就好了我输入它:
但我收到以下错误:
我尝试通过为项目引用 System.Net.FtpClient 设置别名(ftp 而不是全局)来解决此问题,然后在顶部键入:
我得到
如果我更改为 .NET Framework 4.5,我似乎可以解决这个问题,但我的应用程序是 SAP Business One 的旧插件,从 2.0 更改为 4.5 会给我带来数十个其他错误,例如一些不存在的 sap 类有一个构造函数等,所以不幸的是我不能这样做。有没有其他方法可以让它工作?
nuget - Nuget 不为名称以 .Resources 结尾的程序集添加引用
使用 NuGet 包管理器安装包含名称以 .Resources 结尾的程序集的程序包时,程序包会正确安装,但不会将对该程序集的引用添加到项目中。
工具: -
- Visual Studio 企业版 2015 v4.6.00081
- 适用于 Visual Studio 2015 v3.2.60914.10516 的 NuGet 包管理器
.nuspec 文件:
.nupkg 内容:-
- 库
- net46 (.NETFramework,版本=4.6)
- 类库.Resource.dll
- 类库.Resources.dll
- 类库.Resourcex.dll
- ClassLibrary.ResourcesWhatever.dll
- 类库.Whatever.dll
- ClassLibrary.WhateverResources.dll
所有 6 个程序集都是针对 .Net 4.6 的空类库。
安装 nuget 包时,会为所有程序集添加引用,除了:-
- 类库.Resources.dll
似乎是名称以 .Resources 结尾的程序集导致了问题。
当升级这样的程序集时,问题继续存在 - 引用仍然指向以前的版本,并且包本身仍然保留在 packages 文件夹中。
当然,一种解决方法是简单地手动添加引用,但事实证明,这对于在多个项目中使用的定期更改的库来说是重复且令人厌烦的。
c++ - 使用项目引用为 GoogleTest 链接另一个项目的 .obj 文件
该问题特定于VS2010。我无法在一个简单的案例中重现它来给出一个 MCVE(见下文)。
有一些旧的遗留项目。它(除其他外)有 3 个 C++ 项目:
GoogleTestingFramework - 一个从和
.lib
提供功能的项目 。为使用简单而创建。GTest
GMock
OldLegacyProject - 一个旧
.exe
项目。- 这里感兴趣的实体是
Class1
和Class2
。两者都在单独的文件中,Class1.cpp
+Class1.hpp
(与 Class2 相同)。
- 这里感兴趣的实体是
OldLegacyProjectUnitTests - 一个使用和
.exe
编写单元测试的新项目。GTest
GMock
- 该项目正在引用
GoogleTestingFramework
和OldLegacyProject
使用项目引用。 - 在引用属性中,我遵循
Visual Studio 2010 中的规则,而不是从项目中自动链接静态库,因为它应该是依赖项,尤其是这部分:
- 我试图更改
Use Library Dependency Inputs
为true
,但它并没有改变有关问题的任何内容
- 我试图更改
- 该项目中的类直接使用
Class1
(Class2
因为它们是它们的单元测试)并且需要与它们.obj
的
- 该项目正在引用
当我尝试构建所有内容时,出现以下类似错误:
我使用指南创建了一个简单的示例:Google Test #1.b: Setup Googletest in Visual Studio,配置与上面相同,并且可以正常工作。
问题是:
- 尽管有项目参考,为什么链接器看不到这些类?
- 如何查看链接器实际“看到”的内容?(至少,哪些文件)
- 因此:如何将类提供给链接器?
如果我明确地添加了那些的路径,那么.obj
一切都会正确编译和链接。但是,这是一个非常复杂的方法,我想给那些会处理这个相对简单的指示。
我将不胜感激。
c# - 两个项目中的参考
我有两个项目说P1
和P2
。
P1 具有P2的参考。
所以我可以P2's methods
从P1
. 但是,如果我想从那时开始访问P1's methods
,P2
我该如何访问它们呢?
我知道我不能
P1's
在P2
?
如果有可能?如果是,那么如何?
c# - 其他解决方案的 nuget 参考
我有 2 个解决方案:
- 解决方案1
- Project1.1:引用nuget包NU1
- 解决方案2
- Project2.1:参考解决方案1 / Project1.1
当我构建 Solution2 时它失败了,因为 nuget 将 NU1 包拉到 Solution2 的包中,并且当 Project1.1 作为依赖项构建时,NU1 包丢失。
之前的问题和答案已经说服我比 .dll 更好地参考项目——但是,恐怕我还没有理解在使用 nuget 时如何遵循这个指南。
预先感谢您的意见!
c# - 如何在 F# 项目中使用 C# dll?获取带有感叹号的黄色三角形
我需要维护一个 F# 项目。现在我需要导入一个 C# dll 并在那里使用一个函数。
我所做的是,在 F# 解决方案中,我添加了 C# 项目,然后在 F# 项目中,我添加了这个新的 C# 项目作为参考。具体步骤如下。
在解决方案资源管理器中,我找到了 F# 项目。右键单击引用,然后添加引用。在解决方案类别下,我检查了 C# 项目。
在所有这些步骤之后。我的 C# 项目被列为解决方案资源管理器中的参考之一。但它有一个带有感叹号的黄色三角形。
在 F# 解决方案文件中。我试过以下
编译器告诉我 CSV_Reader 的 2 次出现
编辑:
感谢Guy Coder 提供的链接(可能是重复的) ,我发现我遇到的问题是 .net 框架不匹配问题。F# 项目在 .net 4 上运行,但 C# dll 是用 .net 4.5 编写的。因此,当我引用 C# 项目时,会有一个带有感叹号的黄色三角形。我需要做的就是修改 C# dll 项目以使用与 F# 项目相同版本的 .net 框架,问题就解决了。
c# - 对解决方案中的多个项目使用相同的 nuget 包
我正在尝试修复警告
“A”中的“X”类型与“B”中导入的“X”类型冲突
我有 2 个项目的解决方案:A.exe
并且B.dll
,两者都引用相同的 nuget Newtonsoft.Json
,因此发出警告。
这个问题(这似乎正是我所需要的)并没有真正的答案,只有使用“管理 Nuget 包以解决问题”的提示,但没有说明如何处理问题。
在“为解决方案管理 Nuget 包”中,我可以看到X
两者都安装了什么A
,B
具有相同的版本,我可以卸载它等等。但是,我如何组织 nuget 以避免出现冲突警告(因为一旦我引用相同的 nuget在 2 个项目中我将拥有它) - 没有关于此的信息。
问题:如何为解决方案中的多个项目正确使用相同的 nuget 包?
c# - 库参考与 NuGet 包
我有一个 C# 项目,我想添加对它的引用。我知道该怎么做,但我应该使用哪一个 - 项目中的 lib 文件夹或通过 NuGet 安装包?当一个比另一个更好时,如果有一些解释说明两者的利弊,那就太好了。我目前的观点是我应该尽可能使用 NuGet,因为我可以直接在 VS 中查看库是否有更新。但我需要有关该主题的更多信息...