草庐IT

c# - 使用 AppDomain 加载/卸载外部程序集

我的场景如下:创建新的AppDomain加载一些程序集对加载的dll施展魔法卸载AppDomain以释放内存和加载的库下面是我尝试使用的代码classProgram{staticvoidMain(string[]args){Evidencee=newEvidence(AppDomain.CurrentDomain.Evidence);AppDomainSetupsetup=AppDomain.CurrentDomain.SetupInformation;Console.WriteLine("CreatingnewAppDomain");AppDomainnewDomain=AppDom

c# - 无法加载文件或程序集 XXX 或其依赖项之一。找到的程序集的 list 定义与程序集引用不匹配

在本地运行Asp.NetMVC应用程序时,一切正常,但在服务器上部署应用程序时,出现此错误。Couldnotloadfileorassembly'WebGrease,Version=1.5.1.25624,Culture=neutral,PublicKeyToken=31bf3856ad364e35'oroneofitsdependencies.Thelocatedassembly'smanifestdefinitiondoesnotmatchtheassemblyreference.(ExceptionfromHRESULT:0x80131040)我最近刚刚通过使用WebGrease

c# - 同一程序集中的循环引用是一件坏事吗?

假设我在同一个程序集中有以下类publicclassParentClass:IDisposable{publicChildClassChild{get{return_child;}}}publicclassChildClass{publicParentClassParent{get{return_parent;}set{_parent=value;}}publicChildClass(ParentClassparent){Parent=parent;}}如果我错了请纠正我,但这是糟糕的设计。这会导致内存泄漏或其他一些不可预见的问题吗?显然垃圾收集器能够处理suchkindofcircu

c# - 在不加载到当前 AppDomain 的情况下获取自定义程序集属性

我创建了一个小应用程序,用于在提供的目录中递归加载程序集并读取它们的自定义属性集合。主要是为了读取DebuggableAttribute以确定IsJITTrackingEnabled和IsJITOptimizerDisabled的设置以确定程序集是否针对发布进行了优化。我当前的代码执行Assembly.LoadFrom以将整个路径传递到程序集并加载它。然后对程序集执行GetCustomAttributes以获取可调试属性。问题是每个程序集都被加载到当前的应用程序域中。因此,如果另一个文件夹使用相同的程序集,它只使用最初加载的引用。我希望能够加载程序集,读取我需要的属性,然后卸载它。我尝

c# - 加载 x86 或 x64 程序集

我有两个版本的System.Data.SQLite.DLL-适用于x86和x64平台。x86版本保存在应用程序文件夹中,x64版本保存在appFolder\x64文件夹中。应用程序编译为AnyCPU。如何根据Windows平台加载所需的SQLite版本? 最佳答案 如果您使用来自http://system.data.sqlite.org的SQLite,System.Data.SQLite.DLL是完全托管的。有一个底层nativeDLL,SQLite.Interop.DLL,需要根据进程(32位或64位)进行更改。我将native库

c# - 找不到类型或命名空间名称 'BundleCollection'(是否缺少 using 指令或程序集引用?)

所以,我在C#中有一个MVC4项目,我正在使用VisualStudioForWeb2012Express。由于以下错误,我无法编译项目:找不到类型或命名空间名称“BundleCollection”(是否缺少using指令或程序集引用?)通常,这意味着缺少库。因此,在互联网上快速搜索后,我使用NuGet安装了Microsoft.AspNet.Web.Optimization,但仍然没有用。让我感兴趣的是BundleCollections应该默认为应用程序所知。我只能想象我添加了一个把一切都搞砸了的依赖项,但我真的不能确定。我该如何解决这个问题?我在这里缺少什么?代码:usingSyste

c# - 无法加载文件或程序集临时 ASP.NET 文件

我正在使用C#(.NETFramework4)在ASP.NET上开发一个网站。创建新网站项目后,我尝试运行该项目。但我收到以下错误:Couldnotloadfileorassembly'file:///C:\Windows\Microsoft.NET\Framework\v4.0.30319\TemporaryASP.NETFiles\myfirst\159977c5\b9e740fc\App_global.asax.yfqtni9g.dll'oroneofitsdependencies.Thesystemcannotfindthefilespecified.我已经浏览了下面的链接[并

c# - 在 C# 中获取程序集描述的简化方法?

我在阅读一本.NET2.0的书时发现了这个获取应用程序程序集描述的示例代码:staticvoidMain(string[]args){Assemblyassembly=Assembly.GetExecutingAssembly();object[]attributes=assembly.GetCustomAttributes(typeof(AssemblyDescriptionAttribute),false);if(attributes.Length>0){AssemblyDescriptionAttributedescriptionAttribute=(AssemblyDescri

c# - 找到的程序集的 list 定义与程序集引用不匹配。 (来自 HRESULT : 0x80131040) 的异常

签署第三方程序集并将它们添加到GAC后,我收到以下错误:程序集Binder日志条目也显示thiserror它说不匹配的程序集不确定在我删除所有obj和bin折叠并批量构建应用程序+重新导入dll时会发生什么错误。Assemblymanagerloadedfrom:C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dllRunningunderexecutableC:\ProgramFiles(x86)\CommonFiles\MicrosoftShared\DevServer\11.0\WebDev.WebServer40.exe---

c# - Unity 应用程序 block 2.0 - 给定的程序集名称或代码库无效

接口(interface)(在名为“Interfaces”的程序集中。在项目中:-Interfaces)namespaceInterfaces{publicinterfaceIDoSomeWork1{stringDoSomeWork1();}}namespaceInterfaces{publicinterfaceIDoSomeWork2{stringDoSomeWork2();}}依赖项(在名为“Entities”的程序集中。在项目中:-Entities)namespaceEntities{publicclassClassB:IDoSomeWork1{publicstringDoSom