问题标签 [assembly-resolution]

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 回答
2349 浏览

.net - fuslogvw中Default/NativeImage是什么意思?

我偶尔使用 fuslogvw 来跟踪加载程序集的问题。在我使用它的所有时间之后,似乎文件夹“NativeImage”具有加载我的 dll 的本机图像的结果。当找不到本机图像(通常不是)时,我认为它会查找 .net 程序集。“默认”文件夹是我通常关心的,因为它包含所有程序集绑定的日志,这通常是我的问题所在。

谁能在这里解释真正的区别?

0 投票
7 回答
56040 浏览

.net - 在未安装 Visual Studio 的机器上使用 FUSLOGVW.EXE

我目前在我们的开发服务器上遇到了一些程序集绑定问题。我想用 Fusion Log Viewer 进一步调查这个问题。由于机器上没有安装 Visual Studio,我将 FUSLOGVW.EXE 复制到本地文件夹并在那里启动它。

这应该有效还是需要其他东西?我没有得到应用程序正在记录任何失败的印象(是的,我的设置正确)。

0 投票
2 回答
5090 浏览

.net - SharePoint 功能:如何使用通配符程序集版本控制?

我认为这可能是一个通用的 .NET 程序集加载问题,但在我的特定情况下,我希望我的 SharePoint 功能指向一个程序集,其版本控制与正确的 SVN 修订号相关联。

我的程序集现在按本文所述进行了版本控制。我希望能够将我的 SharePoint 功能配置为使用 GAC 中最新版本的程序集。

当我这样做时,SharePoint 当然找不到程序集,因为强名称与此处描述的 1.0.0.0 版本不匹配。我的程序集中的当前版本是 1.0.4479.26553,所以我希望我的功能能够自动找到类似编号的程序集版本。我怎样才能做到这一点?

我有点天真地尝试了这样的事情:

但是当我尝试这样部署我的解决方案时,它似乎仍在寻找 1.0.0.0 版本的文件:

无法安装功能“7b5d86e8-17dc-4943-8f4e-ad1068daf4f9”,因为加载事件接收器程序集“HappyFeature,版本=1.0 ...... 文化=中性,PublicKeyToken=d772fbab82fe6896”失败:System.IO.FileNotFoundException:无法加载文件或程序集 'HappyFeature, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d772fbab82fe6896' 或其依赖项之一。该系统找不到指定的文件。文件名:'HappyFeature,版本=1.0.0.0,文化=中性,PublicKeyToken=d772fbab82fe6896'

强制框架加载我的增量版本功能程序集的正确方法是什么?


编辑:所以,虽然我实际上并没有解决我提出的具体问题,但 Ryan 的建议解决了我的实际问题,即能够使用 SVN 相关信息标记我的程序集,同时保留在 SharePoint 中成功加载我的程序集的能力FeatureReceiver 世界。

0 投票
7 回答
2953 浏览

c# - 模仿 msbuild 进程的程序集解析

我正在编写一个验证工具来检查项目中引用的文件的版本。我想使用与 MSBuild 相同的解析过程。

例如,Assembly.Load(..) 需要一个完全限定的程序集名称。但是,在项目文件中,我们可能只有“System.Xml”之类的内容。MSBuild 可能使用项目的目标框架版本和其他一些启发式方法来决定要加载哪个版本的 System.Xml。

您将如何模仿(或直接使用)msbuild 的程序集解析过程?

换句话说,在运行时,我想获取字符串“System.Xml”,以及在 .csproj 文件中找到的其他信息,并找到 msbuild 会找到的相同文件。

0 投票
2 回答
5088 浏览

c# - 在 2 个 .NET 程序集中使用相同名称和命名空间的类型

出于好奇,我创建了 2 个程序集,它们都有一个Class1具有完全相同命名空间 ( ) 的类 ( Library1)。然后我创建另一个引用这 2 个程序集的客户端并尝试创建Class1.

毫不奇怪,编译器给了我一个关于不明确引用的编译错误。有什么方法可以明确指定我想用来避免歧义的程序集中的类型?

注意:我知道这在实践中很少发生,如果有的话。这只是出于对语言功能的好奇而提出的问题。

0 投票
1 回答
3376 浏览

sql-server - Microsoft.SqlServer.SqlTools.VSIntegration reference problem/oddities in Visual Studio 2010

SQL Server Edition: 2008 Enterprise Visual Studio: 2010 w/ .NET 4.0

SSMS 2008 Addin - Data Scripter project source code on CodePlex references Microsoft.SqlServer.SqlTools.VSIntegration.dll

I have referenced the DLL under
<<Microsoft SQL Server install location>>\100\Tools\Binn\VSShell\Common7\IDE

But here is the oddity. Microsoft.SqlServer.SqlTools.VSIntegration.dll contains a namespace Microsoft.SqlServer.Management.UI.VSIntegration, which in turn contains ServiceCache (public sealed).

As soon as I add the reference, ServiceCache is highlighted (meaning there is no reference issue) But the problem arises when I compile the project and VS 2010 throws up an error that it cannot find ServiceCache.

The name 'ServiceCache' does not exist in the current context

Why is that ServiceCache is not visible during compile time but looks like it's available right after adding the assembly?

And Reflector does show that ServiceCache is part of the assembly that the project is referencing, but Visual Studio intellisense fails to display it.

Any had this kind of problem?

[UPDATE] Some screenshots

Reflector clearly shows ServiceCache alt text

But Visual Studio 2010 says, otherwise... alt text

0 投票
5 回答
12845 浏览

asp.net - 如何在 ASP.net 应用程序中引用 bin 文件夹外的程序集?

我有一个用 ASP.Net 编写的工作 XML Web 服务。现在我需要引用位于特定文件夹中的某些程序集,例如c:\NotMyCode
不想将该文件夹中的无数 dll 复制/复制到我的 bin 文件夹中。

我试图保留CopyLocal=falseWeb 服务中引用的程序集。这最终导致程序集出现 FileNotFound 异常。当我切换到CopyLocal=true时,引用的 DLL 被复制到 bin 文件夹中。它可以工作。

所以我的问题是:如何引用不在我的 bin 文件夹或它下面的子文件夹中的程序集?我需要在某处更改一些安全策略文件吗?我想我不是第一个想要做这样的事情的人。所以我假设有人已经解决了这个问题。

(我尝试在 IIS ASP.net 配置面板中模拟管理员用户,但这也不起作用。)

更新:也不能在 GAC 中安装它。打个比方,此 Web 服务为第三方应用程序(例如 Starteam)提供了简化视图。我不能(不应该……不想……)将该文件夹中的所有二进制文件复制到 bin 文件夹或将其安装到 GAC

0 投票
3 回答
6951 浏览

.net - 如何在 .NET 中解析程序集?

如何在 .NET 中解析程序集。我的意思是,如何解析具有完全限定名称的程序集。我对公钥/私钥令牌和强命名感到困惑。谢谢

编辑:我也读过延迟签名之类的东西。人们真的会使用它吗?(有没有人实际使用过延迟签名)谁生成了对程序集进行签名的密钥。如果我问的问题太多,我很抱歉。但是,我对这整件事感到困惑。

0 投票
2 回答
688 浏览

.net - 位于 ASP.Net 中的网络共享上的参考程序集

在我所在的地方,我们有大量可以运行的程序,它们都使用位于网络共享上的一组程序集的功能:例如写入公共系统日志、数据库连接字符串、一些常见的业务对象和函数,等等

我们喜欢这种设置,因为它可以轻松部署错误修复和新功能:只需更新共享驱动器上的程序集,并且使用它们的每个应用程序都是最新的。需要打破二进制兼容性?这不是轻而易举的事,但也不是什么大不了的事:只需添加一个带有新版本号的新文件夹。Subversion 知道每个版本的位置,因此仍然可以将错误修复部署到每个版本中重复的代码。可能还会首先进行一些讨论,以确保它确实有必要,因此我们可以将多个更改批处理到一个新集合中,但到目前为止,这样做的需求非常少。

为了支持这一点,我们有一些自定义项目模板,它们自动包含对公共库的引用,再说一遍:我们真的很喜欢这种设置。

现在终于到了问题的实质——我们所做的大部分工作是支持大量的小型遗留经典 ASP 页面。随着新的发展,这些也正在慢慢转移到.Net。我们真的希望能够为这些 Web 应用程序使用与我们的其他应用程序相同的支持框架。传统观点认为 ASP.Net 应用程序不能引用 GAC 之外的程序集或它自己的小虚拟目录。因此,要在我们的 ASP.Net 页面中使用我们的通用代码,我们可以做的最好的事情是将其安装到 Web 服务器和每台开发人员机器上的 GAC,并确保此代码的每次更新也传播到这些位置。我们觉得这很令人反感。

鉴于我们可以为 ASPNet 帐户授予从公共代码所在的网络共享读取所需的权限,并且无论如何我们将为这些应用程序构建一些自定义项目模板(因此可以自动在 web.xml 中包含一些设置。例如,将普通的 asp.net 页面类配置或子类化作为我们的起点)有没有人知道任何非常规的智慧,说我们可能能够从它们当前的位置引用这些程序集?

0 投票
4 回答
7634 浏览

c# - 在哪里可以找到 Microsoft.VisualStudio.DebuggerVisualizer?

由于缺少程序集,项目将无法编译。导致错误的文件有

VisualStudio部分标记为红色。我必须安装什么来修复它?对我来说,这听起来像是 Visual Studio 附带的东西,但这就是我正在使用的东西,所以它被安装了......

澄清:我知道它存在于哪个程序集中,并且引用已添加到项目引用中。但我怎么得到它?我必须安装什么 SDK?还是我在安装 Visual Studio 时忘记检查某些内容?