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

visual-studio - ASP.NET Web 应用程序和 NuGet - 未引用包更新

我有一个 ASP.NET Web 应用程序(在正式意义上,它不是一个“网站”项目)。它引用了一些 NuGet 包(我们都称它们为 v1.0)。

如果我编辑 packages.config 以引用其中一个 NuGet 包的较新版本并构建、恢复包或尝试更新包,一切似乎都很好。它下载新包,为它创建一个文件夹和整个交易。

当我尝试在该包中引用新添加的类或属性时,问题就出现了。(我们称之为 v2.0。)

IntelliSense 不知道它们。当我开始尝试找出原因时,我发现它仍在引用 v1.0。它已经下载了 2.0,并且包文件要求它应该使用 2.0,但是除非我明确删除对包的引用并重新添加它,否则 VisualStudio 似乎满足于坚持使用 v1.0。

我觉得我一定做错了什么,或者在某个时间点配置不正确,但我不知道那可能是什么。

有什么建议吗?

0 投票
1 回答
549 浏览

vb.net - 无法访问引用的项目常量

我在同一个解决方案(一个常规项目和一个用于单元测试的测试项目)中跨多个项目使用模块时遇到问题。我正在尝试遵循http://msdn.microsoft.com/en-us/library/ms182532(v=vs.110).aspx中的示例代码中的示例代码(但使用 VB.NET 而不是 C#)。

所以我有 2 个项目,ZBank 和 ZBankTests。ZBankTests 引用了 ZBank。ZBank 有一个类 clsAccount(命名空间 BankAccount)和一个模块 modConstants(命名空间 BankConstants)。clsAccount 导入 ZBank.BankConstants 并可以使用其常量变量。

ZBankTests 有一个类 clsAccountTests(命名空间 ZBank.BankAccount.Tests),它导入 ZBank.BankAccount 和 ZBank.BankConstants。我可以很好地使用 BankAccount 类,但它会出错:

我也将模块编译成一个 DLL,但是在添加对它的引用之后,两个项目都不能导入它或使用它的变量(阅读后尝试:在多个项目中使用相同的模块)。

模块代码:

0 投票
1 回答
1347 浏览

c# - 仅在首次加载解决方案时未解决的项目引用

简短描述:首次加载解决方案会将外部项目引用标记为无效,重新加载解决方案可解决问题。

详细说明:

我们的系统中有大量的 C# 项目,而几个不同的解决方案只包含少量项目。这些项目通过项目引用而不是直接引用 dll 相互引用。引用的项目不是解决方案的一部分。

我在使用这些解决方案时遇到了一个奇怪的行为:每次我第一次打开一个解决方案时,这些外部项目引用在引用树下被标记为无效,并且某些功能无法正常工作(例如代码分析、ReSharper 引用、等)构建解决方案是可能的,没有错误。但是,当我重新加载解决方案时,所有引用都将再次有效

附加信息:

  • 如果我更改了其中一个项目文件中的某些内容,这会触发解决方案中项目的重新加载,则引用再次被破坏,我必须重新加载解决方案两次才能修复它们。
  • 如果我将外部项目添加到解决方案中,则不会出现问题。
  • 如果我关闭 Visual Studio 并在下次启动时加载最后一个解决方案,则引用将有效。只有加载另一个解决方案才会触发问题。

虽然问题不是很关键,但是非常不方便和耗时。

我们正在使用 Visual Studio 2010 和 .NET 4.0(还安装了 Visual Studio 2012)。

0 投票
2 回答
149 浏览

c# - 如何根据引用的 C# 程序集事件触发显示 VB.NET 表单?

我第一次在这里提出问题,如果我做得不对,请提前道歉。我无法通过搜索找到任何东西。

我继承了一个 VB.NET 旧版 Windows 应用程序项目。我想尽可能用 C# 编写任何和所有新增内容,包括新的 Windows 窗体。因此,我在 C# 程序集中有一个新的 Windows 窗体(不确定这是否是最好的方法),被 VB.NET Windows 应用程序引用。在从引用的程序集中初始化 C# 表单时,我将所有必要的参数传递给它,我将从这些参数在 C# Windows 表单中构建我的网格列和记录。到目前为止,这里没有问题。在 C# 网格的单元格双击事件中,我想从引用 C# 程序集的应用程序中显示现有的 VB.NET Winform。我的问题是:我如何获得 VB.NET Windows 窗体的句柄来显示它,或者为此做任何其他事情?显然不允许循环引用,所以如果可能的话,我怎么能做到这一点,

0 投票
3 回答
7434 浏览

c# - XamlParseException:无法加载文件或程序集“ResourceLibrary,...”或其依赖项之一。该系统找不到指定的文件

System.Windows.Markup.XamlParseExceptionoccurred

A first chance exception of type 'System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll

Additional information: 'Set property 'System.Windows.ResourceDictionary.Source' threw an exception.' Line number '21' and line position '6'.

"Could not load file or assembly 'ResourceLibrary, Culture=neutral' or one of its dependencies. The system cannot find the file specified.":"ResourceLibrary, Culture=neutral"

0 投票
3 回答
905 浏览

visual-studio-2008 - Visual Studio 2008 中 BizTalk 架构项目的参考问题

在大型 VS 2008 解决方案中,我们有不同的模式项目和映射项目。映射项目引用了适当的模式项目,这总体上工作得很好。

然而,最近我添加了一个新的模式项目,它始终给出同样的问题。当我向其中添加新架构并且我想在已经具有对该架构项目的引用的映射项目中使用该架构时,映射无法使用消息进行验证

无法加载源/目标架构 [...]。文件/类型不存在,或者如果项目依赖存在,则不构建依赖项目。

很公平,我将重新构建模式项目,这应该可以解决错误。但对于这个特定的模式项目来说,这还不够。我必须删除重新添加架构项目引用才能使此错误消失。这很烦人,它适用于其他项目而无需此额外步骤,那我该怎么办?

0 投票
1 回答
165 浏览

java - 程序1.运行(程序2);操作方法:Program2.finish()?Program1.continue():Program1.wait();

我有两个 Java 程序。“第一个”/“主要”实现搜索算法,“其他”/“第二个”使用 Repast 模拟框架来运行多智能体模拟。在“第一个”Java 程序中,我有以下代码块:

MA 模拟/“秒”程序将运行模拟,直到满足特定条件或经过 900 个时间步长,一旦满足停止条件,程序会将一些输出写入文本文件,由“第一”计划。现在我的问题是,当我运行“第一个”程序(在某些时候调用/运行第二个程序/模拟)时,它不会等待模拟/“第二个”程序完成,但是会发生什么之后在运行模拟/“第二个”程序时,“第一个”程序将继续运行它自己的代码,该代码正在读取输出文本文件,所以我得到文本文件为空的错误。

我的问题是如何强制“第一个”程序等待或停止运行其代码,直到“第二个”/模拟程序完成(满足停止条件并且输出已写入文本文件)?我想在“第一个”程序中使用等待并在“第二个”程序中通知如下:

在“第一个”程序中:

在“第二个”程序中:

但如果我这样做,它将在从“第二个”程序返回后执行等待,如果我将它放在调用之前,它将等待然后开始模拟。是否使用等待并通知正确的方法来执行此操作?关于如何做到这一点的任何建议或提示?

太感谢了!

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 网站说明了它是如何工作的,但我似乎找不到它。我不想覆盖行为,我只想知道默认行为是什么。

0 投票
2 回答
1144 浏览

visual-studio-2013 - 将参考从 Microsoft.Phone.WinJS.2.1 版本 1.0.9651.0 更新到版本 1.0.9651.40228

我在 Visual Studio Professional 2013 中使用 Update 3 构建/部署我的 Windows Phone 应用程序。出现以下控制台输出:

我很好奇警告建议我将参考从 WinJS.2.1 v1.0.9651.0 更新到 v1.0.9651.40228。所以我下载并安装了Visual Studio 2013 Extensions for the Windows Library for JavaScript。重新启动操作系统和 VS 2013 后,我尝试从空白模板创建一个新的 Windows Phone 项目。我希望 References 文件夹包含适用于 JavaScript 2.1 v1.0.9651.40228 的 Windows 库。但是,它仍然只指向旧版本,即 v1.0.9651.0。我是在错误的轨道上还是我错过了什么?请指出正确的方向。谢谢!

0 投票
0 回答
167 浏览

c# - 用于检查项目引用的 StyleCop 规则

有时在更新 dll 版本时,其他项目对该 dll 的引用会突然引用 GAC 而不是我们的自定义程序集文件夹。这是一个问题,因为一个项目可能会引用一个旧的 dll,并且不会部署在 TEST 环境中。

因此,我想制定一个 StyleCop 规则。该规则应检查项目引用是否指向 GAC。如果是这样,则应出现警告或错误。我找到了有关如何创建自定义 StyleCop 规则的文档,但我需要一些帮助才能开始。

所以问题是:如何通过 StyleCop 访问项目引用,以便检查它们是否指向 GAC?或者您知道检查项目引用的工具吗?

提前致谢