草庐IT

global-assembly-cache

全部标签

c# - Assembly.GetTypes() 返回奇怪的类型名称,例如 "<>c"

使用Assembly.GetTypes()时我得到的类型有Type.Name以c....开头的.我试着用谷歌搜索这是匿名类型还是其他类型。但得不到真正好的答案。Type上是否有一个属性指示这些类型是什么?我不喜欢做if(type.Name.StartsWith("")) 最佳答案 这些是编译器生成的显示类。您可以通过查找CompilerGeneratedAttribute来区分它们:varattr=Attribute.GetCustomAttribute(type,typeof(CompilerGeneratedAttribute)

c# - assembly 中的类型是使用旧版本的 blend sdk 构建的,在 Windows presentation Foundation 4 项目中不受支持

我在VS2013中创建了一个WPF项目。升级到VS2015后,设计器中从BlendSDK派生的类型上显示此错误:thetypefromassemblyisbuiltwithanolderversionofblendsdkandisnotsupportedinawindowspresentationfoundation4project 最佳答案 以管理员身份运行命令提示符将目录更改为BlendSDK:cdC:\ProgramFiles(x86)\MicrosoftSDKs\Expression\Blend\.NETFramework\

c# - 系统.IO.FileNotFoundException : Could not load file or assembly 'X' or one of its dependencies when deploying the application

我在部署应用程序时遇到了一个奇怪的问题,该应用程序引用了一个用托管C++编写的程序集。我创建了一个程序集X,对其进行编译并在名为Starter的exe文件中引用它。Starter.exe在本地机器上正常启动。但是,当我将启动器调试文件夹的所有内容复制到虚拟机器并尝试在那里启动它时,它崩溃并出现以下异常:UnhandledException:System.IO.FileNotFoundException:Couldnotloadfileorassembly'X'oroneofitsdependencies.Thespecifiedmodulecouldnotbefound.这对我来说没有

c# - 我需要一个永远不会返回 null 的 `Assembly.GetEntryAssembly()` 的替代方案

我需要找到开始执行托管代码的程序集。//usingSystem.Reflection;AssemblyentryAssembly=Assembly.GetEntryAssembly();这似乎是要走的路,但是MSDNreferencepageforAssembly.GetEntryAssembly声明此方法[c]从非托管代码调用时返回null。”在那种情况下,我想知道非托管代码调用了哪个程序集。有没有一种可靠的方法可以做到这一点,即总是返回一个非空的Assembly引用? 最佳答案 到目前为止我能想到的最好的是以下,它应该在单线程场

c# - 如何测量 .NET Memory Cache 4.0 的当前大小?

目前,我们正在使用.NETMemoryCache4.0来满足缓存要求。(不是ASP.NET缓存,不是任何外部缓存)查看“.NETMemoryCache4.0”性能计数器,有关于缓存命中、未命中、条目、修剪等的数据,但与大小无关。有没有办法测量/了解生产应用程序使用的缓存的当前大小?我希望能够在不同的时间点捕获这些数据并获得缓存的平均大小。 最佳答案 这是一个丑陋的实现细节,微软根本不想公开。在.NET中测量对象大小通常是不可能的。MemoryCache使用相当讨厌的后门来实现其内存限制触发器,它使用CLR的DACCESS组件,实际上

c# - ConfigurationManager.GetSection 给出错误 "Could not load type....from assembly..."

我的app.config文件如下:我有以下(单独的)类来获取配置:namespaceConfiguration{usingSystem.Configuration;publicclassProcessesConfigurationSection:ConfigurationSection{[ConfigurationProperty("processes",IsDefaultCollection=false)][ConfigurationCollection(typeof(ProcessCollection))]publicProcessCollectionProcesses{get{r

C# : So if a static class is bad practice for storing global state info, 提供相同便利的好的替代方案是什么?

我一直注意到静态类在用于存储全局信息方面在SO上得到了很多不好的评价。(并且全局变量通常受到蔑视)我只想知道下面的示例有什么好的选择......我正在开发一个WPF应用程序,从我的数据库中检索到的数据的许多View都是根据当前登录用户的ID过滤的。同样,我的应用程序中的某些点应该只供被视为“管理员”的用户访问。我目前正在静态类中存储一个loggedInUserId和一个isAdminbool值。我的应用程序的各个部分都需要此信息,我想知道为什么它在这种情况下并不理想,以及替代方案是什么。启动和运行似乎非常方便。我唯一能想到的替代方法是使用IoC容器将Singleton实例注入(inje

c# - Assembly.GetTypes() 的行为在 Visual Studio 2015 中发生了变化

我昨天在VisualStudio2015中打开了我们的解决方案,我们的一些单元测试(在VisualStudio2013中运行良好)开始失败。深入挖掘我发现这是因为调用GetTypes()在一个程序集上返回不同的结果。我已经能够创建一个非常简单的测试用例来说明它。在VisualStudio2013和2015中,我使用.NETFramework4.5.2创建了一个新的控制台应用程序。我在两个项目中都放入了以下代码。classProgram{staticvoidMain(string[]args){vartypes=typeof(Program).Assembly.GetTypes().Wh

c# - 如何解决警告 "Referenced assembly targets a different processor than the application"

我已经能够构建我的Windows窗体应用程序来访问SQLServer中的数据库。除了可以备份/恢复数据库的部分之外,应用程序的所有部分都能够访问服务器。在这部分我无法访问服务器上的数据库并且已经开始相信这是因为这些警告。以下内容的确切含义是什么?我该如何更正它们?Referencedassembly'c:\ProgramFiles\MicrosoftSQLServer\90\SDK\Assemblies\Microsoft.SqlServer.Replication.dll'targetsadifferentprocessorthantheapplicationReferencedas

caching - 如何设置 docker 在每个构建步骤中使用注册表中的缓存

我有两台带有docker的服务器和一台带有我的私有(private)注册表的服务器。我在第一台机器上构建了Dockerfile;然后我将图像推送到注册表。是否可以使用我的注册表中的缓存立即在第二台机器上构建Dockerfile?如果不是,有什么方法可以在不编写自己的缓存的情况下加快构建“几乎”相同的Dockerfile?它试图设置--registry-mirror但没有帮助。 最佳答案 注意:issue20316("Pullingbuildcache")已关闭,因为PR26839("Implementbuildcachebasedo