.net-assembly相关内容
我有两个应用程序,例如App1 和 App2.正常运行时,App1 会显示其程序集可执行位置.但是当我从 App2 调用 App1 时,它返回了 App2 的启动位置. 那么,当我从 App2 调用 App1 时,如何获取 App1 的启动路径? 解决方案 你可以通过这个获取当前正在执行的程序集的目录: string assemblyPath = Path.GetDirectory
..
我有这个程序集,出于某种原因,Windows 开始从这个路径加载: C:\Users\marius\AppData\Local\assembly\dl3\MP6PT6BV.2Z4\GMRQEZL9.LCB\46d762c5\8cf066ff_7eaecc01\X.DLL 这意味着无论我对程序集做了什么更改,它的新副本都不是从其输出文件夹加载的,而是从该缓存文件夹加载的.我尝试删除该文件夹,甚至
..
我有一个 PNG(即压缩图像),我想将它包含在我的程序集(即应用程序)中. 怎么做? 附加信息: 我尝试在 Visual Studio 2010 中向我的程序集添加一个 PNG 资源: 但这不起作用,因为 Visual Studio 将其转换为未压缩的位图: 除了我想添加一个 PNG. 否则我的 1MB 应用程序变成 8MB: ]=== 1MB 文件大小 ==
..
在 .Net 中,给定一个类型名称,是否有一种方法可以告诉我该类型是在哪个程序集(System.Reflection.Assembly 的实例)中定义的? 我假设我的项目已经引用了那个程序集,只需要知道它是哪个. 解决方案 Assembly.GetAssembly 假定您拥有该类型的实例,而 Type.GetType 假定您拥有包含程序集名称的完全限定类型名称. 如果你只有基本
..
我目前正在使用内置的 TraceListener 开发应用程序日志库.这个库将在许多项目中使用,应该提供一个简单的界面,我只需要关心将要写入日志文件的内容,而不是如何写入. 通过使用反射命名空间,我可以找出当前调用日志函数的应用程序(检索执行程序集名称),但我还想要调用日志函数的函数和类的名称. 假设我有: public static void LogInfo(string vLog
..
我在问自己是否可以在运行时加载带有 Controller 的 DLL 并使用它. 我发现的唯一解决方案是通过 ApplicationPart 在 StartUp 上添加程序集: var builder = services.AddMvc();builder.AddApplicationPart(AssemblyLoadContext.Default.LoadFromAssemblyPath
..
我正在尝试使用以下代码在 C# 3.0 中获取正在执行的程序集版本: var assemblyFullName = Assembly.GetExecutingAssembly().FullName;var version = assemblyFullName .Split(',')[1].Split('=')[1]; 还有其他合适的方法吗? 解决方案 两个选项...无论应用程序类型如何
..
缓存从反射获得的昂贵数据的最佳方法是什么?例如,大多数快速序列化程序缓存此类信息,因此它们不需要在每次再次遇到相同类型时进行反映.他们甚至可能生成一个动态方法,从类型中查找. .net 4 之前 传统上,我为此使用了普通的静态字典.例如: private static ConcurrentDictionary>缓存;公共静态 DoSomething(对象 o){动作行动;if
..
所以我现在正在学习 MSIL 以学习调试我的 C# .NET 应用程序. 我一直想知道:堆栈的目的是什么? 只是把我的问题放在上下文中: 为什么要从内存传输到堆栈或“加载"?另一方面,为什么要从堆栈转移到内存或“存储"?为什么不把它们都放在内存中? 是不是因为它更快? 是不是因为它是基于 RAM 的? 为了效率? 我试图掌握这一点,以帮助我更深入地理解 CIL 代码.
..
我有一个基于 CLR 的存储过程,它使用 MsmqIntegrationBinding 将消息发布到远程 MSMQ.在 SQL Server 2005 中一切正常,但现在假设发生了从 2005 到 2012 的升级.我尝试在 SQL Server 2012 中注册 CLR (SP),但在注册 System.ServiceModell.DLL 时出现以下错误. 消息 6544,级别 16,状态
..
我有一个使用第三方 DLL 的签名应用程序.这些 DLL 未签名.- 到目前为止,第一步没有问题:我刚刚签署了它们(使用 ildasm.exe 获取 *.il,在 *.il 中只是获得 publickeytoken 因为它们具有相互依赖性,并使用 ilasm.exe 制作了 *.dll) 该项目现在可以正常编译并启动. 但是当在我的代码中调用了 3rd-party-DLL 的类构造函数
..
那么,是否可以用 C# 制作一个大项目(很多功能), 为它创建 CLR 程序集,然后, 在 SQL Server IN A STORED PROC 中,调用程序集中的函数, 该表(我将传递给 ASSEMBLY)在其他存储过程中计算... 如果是,步骤是什么? 我在想这样的事情. -- 我有一个获取表的存储过程,让它成为 myStoredProcTable--FIST 启用数
..
我们在第一次加载一些繁重的 UI 屏幕时受到了打击.我们的项目分为一个主要的可执行文件和几个 DLL 文件.DLL 文件还可能包含首次加载时速度较慢的 UI 屏幕. 有没有办法(在代码中)我们可以预加载所有引用的程序集以避免 JIT 编译命中? 我知道有一种工具叫做 NGen.是否可以在开发环境中运行 NGen 以便我们立即看到其效果?但理想情况下,我们希望从代码中预加载引用的程序集.
..
在 公共语言运行时(CLR) Microsoft 页面,它说 .Net Framework 4 和 4.5 都使用 CLR 版本 4. 但是在此页面中 (.NET Framework 版本和依赖项)它写道“.Net Framework 4.5 版包括 CLR 4 的更新版本" 还写道: '针对 .NET Framework 4.5.1 的可执行文件将被阻止在仅安装了 .NET F
..
当我在解决方案资源管理器中检查 System.Web.Cors 程序集参考时,Version 是 5.2.3.0.Specific Version 属性设置为 False.该路径是到本地项目 bin 文件夹.从文件资源管理器检查 .dll 属性时,文件的产品版本和文件版本.也是 5.2.3. 我的Web.config:
..
我正在使用 VS2010,我尝试通过文件引用将一些程序集从本地硬盘添加到我的 C# 项目中.查看 csproj 文件,我发现有时文件引用显示为 但有时它显示为 是什么导致了差异? 受到 k3b 回答的启发,我又做了一个测试.我创建了一个新的类库项目. 添加文件引用.Properties 窗格中 Specific Version 的初始值为 False.csproj 文件看起
..
我有一个程序集 A,它定义了一个带有一些重载的接口: 公共接口ITransform{点逆变换(点点);Rect InverseTransform(矩形值);System.Drawing.Point InverseTransform(System.Drawing.Point 点);} ...以及引用 A(二进制文件,而不是项目)并调用其中一个重载的程序集 B: var 变换 =(other.S
..
我有兴趣查看 C# 程序(不是 CLR 字节码指令)的实际 x86 程序集输出.有什么好的办法吗? 解决方案 您应该将 WinDbg 与 SOS/SOSEX 一起使用,确保您要查看 x86 代码的方法在方法表中进行了 JIT,然后使用 查看实际反汇编u 命令.这样你就会看到实际的代码. 正如这里其他人提到的,使用 ngen 您可以看到与实际 JIT 编译结果不完全匹配的代码.使用 V
..
当我使用 Visual Studio 运行单元测试时,它工作正常,因为它从所有程序集所在的项目目录运行.但是当我使用 resharper 运行它时 出现错误 var services = Assembly.Load("SomeAssembly"); 有错误 无法加载文件或程序集“SomeAssembly"或其之一依赖关系.系统找不到指定的文件.. 所以我试过了 var path
..
我在我的项目中使用 Netonsoft.Json.它工作正常,直到我开始在我的项目中集成 Paypal SDK.我的代码如下. String AccessToken =new PayPal.OAuthTokenCredential("", "").GetAccessToken();---->>>>此行抛出错误PayPal.Api.Payments.Address add = new PayPa
..