草庐IT

ASSEMBLY

全部标签

c# - .NET 程序集插件安全

我在许多应用程序中使用了以下代码来加载公开插件的.DLL程序集。但是,我以前总是关心功能,而不是安全性。我现在正计划在除我以外的其他组可以使用的Web应用程序上使用此方法,并且我想确保该功能的安全性是合格的。privatevoidLoadPlugins(stringpluginsDirectory){Listfactories=newList();foreach(stringpathinDirectory.GetFiles(pluginsDirectory,"*.dll")){Assemblyassembly=Assembly.LoadFile(path);foreach(Typety

c# - ASP.NET MVC : How to obtain assembly information from HtmlHelper instance?

我在一个独立于我的MVC应用程序程序集的程序集中有一个HtmlHelper扩展方法。在扩展方法中,我想获取MVC应用程序程序集的版本号。这可能吗?调用程序集是razorView动态程序集,因此没有帮助。HtmlHelper中是否嵌套了某个对象可以为我提供MVC应用程序程序集的版本号?我一直在探索HtmlHelperclassdocumentation但到目前为止还没有找到解决我的问题的方法。谢谢! 最佳答案 这是出了名的邪恶-因为不幸的是,没有一种特定的可靠方法可以做到这一点。但是,由于它是一个MVC应用程序,它很可能有一个Glob

c# - 我得到 "missing a using directive or assembly reference"并且不知道出了什么问题

我正在尝试允许用户将数据输入到将添加到web.config文件的文本框中。我已将相关行添加到web.config文件中,但是当我创建此类时,一切都出错了。每当我尝试运行我的应用程序时,我总是收到“您是否缺少using指令或程序集引用错误”。我看过其他时候有人问过这个问题,但似乎无法弄清楚我哪里出错了。问题是我对VisualStudio非常陌生,对可能的答案一无所知。下面是产生错误的类文件。我希望我已经包括了你需要帮助我的一切。谢谢。usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Configuration;nam

C# 管理修订号的有效方法

C#2008SP1我想知道处理修订号的最佳方式是什么。我一直以为通常只有3个数字。(主要、次要和错误修复)。但是,我想知道构建号和修订号是什么。例如,过去我通常只使用3个号码。如果有一些非常小的更改或错误修复,我会增加第三个数字(错误修复)。因为我是新手。专业领域通常做什么?非常感谢任何建议,在我的AssemblyInfo文件中,我有以下内容://Versioninformationforanassemblyconsistsofthefollowingfourvalues:////MajorVersion//MinorVersion//BuildNumber//Revision////

c# - 无法加载文件或程序集 'log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=1b44e1d426115821' 或其依赖项之一

我发现了几个与此问题相关的线程,但没有一个解决了我的问题。我之前一直在我的ASP.NET服务中使用log4netversion1.2.10.0。我已经将它更新到当前版本log4netv2.0.8.0,由于一些第三方库,我还在我的web.config中添加了以下行以支持/重定向旧版本。我也对这些Messages一头雾水内部异常:((System.IO.FileLoadException)ex.InnerException.InnerException).MessageCouldnotloadfileorassembly'log4net,Version=1.2.10.0,Culture=n

c# - 错误 : Could not load file or assembly 'Microsoft. Practices.ServiceLocation,版本 = 1.0.0.0

我收到这个错误:Couldnotloadfileorassembly'Microsoft.Practices.ServiceLocation,Version=1.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35'oroneofitsdependencies.Thelocatedassembly'smanifestdefinitiondoesnotmatchtheassemblyreference.(ExceptionfromHRESULT:0x80131040)如果我的项目中已有另一个现有版本的Microsoft.Practic

c# - "Could not load file or assembly ' System.Core, Version=2.0.5.0,...”动态加载可移植类库时出现异常

首先,我需要强调的是,这个问题与thisthread中的问题略有不同。.此外,安装KB2468871没有帮助。我尽量简化了这个问题。一般来说,它是关于使用Assembly.LoadFile(...)在桌面应用程序中加载PCL程序集。假设有一个.NET4.0控制台应用程序(称为“C”)。它引用.NET4.0程序集(称为“N4”)和PCL程序集(称为“PCL”)。N4看起来像这样:usingSystem.Linq;namespaceN4{publicclassClassInN4{publicstaticstringGreet(){returnnewstring("hellofromN4".

c# - 我们什么时候不应该创建 Assembly 的强名称? "strong named assembly"的缺点是什么?

我有一个项目,即library.exe。在此我引用了一个程序集(logging.dllver1.0.3.0)并且我给这个程序集起了一个强名称。现在假设我更改了logging.dll中的一个方法并制作了版本1.0.4.0。现在当我用这个新的DLL复制/替换旧的DLL时,我得到了一个异常。我知道异常是因为我更改了DLL的版本号。因为它是一个强名称DLL,除非我重建library.exe,否则不允许使用它。上面的故事我想说的是仅当我们必须将其添加到GAC时,才对程序集使用强名称。如果我们有一个应用程序,其中单个程序集需要更新,请不要使用强命名程序集。我对第1点和第2点的看法是否正确?什么时候

c# - 即使条件评估为 false,If 语句似乎也在评估

昨晚工作到很晚,我们试图弄清楚为什么会出现故障。验证检查在不应该的时候失败了。我们最终向这段代码添加了一条打印语句(从Reflector反汇编以检查代码是否确实是我们编写的内容):publicstaticstringRedacted(stringname,DateTimelastModified){longticks=lastModified.Ticks;if((ticks!=(ticks-(ticks%10000L)))&&(lastModified!=DateTime.MaxValue)){Log.Debug(string.Format("LastModifiedDate='{0}

c# - 使用两个具有相同名称和相同命名空间的 DLL

我有一个项目需要引用两个同名的DLL。DLL没有强命名,具有完全相同的名称。我需要访问每个DLL中的某些类型,但这些类型具有相同的完全限定名称。所以假设第一个是带有someProduct.Type1的companyDLL.dll和第二个是带有someProduct.Type1的companyDLL.dll。如何访问同一项目中的两个Type1类?我已经尝试使用externalias,但它需要我更改其中一个DLL的名称。 最佳答案 如果您的两个DLL具有相同的名称,您将不得不重命名它们。如Assembly1.dll和Assembly2.