草庐IT

dll-interface

全部标签

c# - 接口(interface)的扩展方法是否被视为比不太具体的方法优先级低?

我有以下扩展类:publicstaticclassMatcherExtensions{publicstaticExecMatcherMatch(thisTupleitem){returnnewExecMatcher(item.Item1,item.Item2);}publicstaticExecMatcherMatch(thisITupleMatchableitem){vartuple=item.PropertiesToMatch;returnnewExecMatcher(tuple.Item1,tuple.Item2);}publicstaticExecMatcherMatch(th

c# - 从程序集中强制卸载 DLL

我正试图从我的.NET进程中卸载一个行为异常的第三方DLL,因为它似乎导致了一个问题,这个问题总是可以通过重新启动我的应用程序来解决。我不想重新启动应用程序,而是想删除并重新加载DLL。DLL正在使用LoadLibrary加载并使用FreeLibrary删除(使用从P/Invoke网站获取的DllImport)。当我调用LoadLibrary()时,我看到DLL出现在ProcessExplorer的DLL列表中,而当我调用FreeLibrary()时,我看到DLL从列表中消失DLL-正如预期的那样。但是,一旦我调用了第三方库的Initialize()函数,FreeLibrary()就不

c# - AutoMapper.dll中出现 'AutoMapper.AutoMapperMappingException'类型的异常,但用户代码中没有处理

不知何故,我的代码不再起作用(它以前使用完全相同的代码确实起作用)。这是问题所在:代码我正在尝试使用以下代码将一些对象映射到ViewModel:配置:Mapper.CreateMap().ForMember(x=>x.Title,opt=>opt.MapFrom(src=>src.Book.Title)).ForMember(x=>x.Authors,opt=>opt.MapFrom(src=>src.Book.Authors.Select(x=>x.Name).Aggregate((i,j)=>i+","+j))).ForMember(x=>x.Identifiers,opt=>op

c# - mscorlib.dll : Access to the path . 中发生类型为 'System.UnauthorizedAccessException' 的未处理异常。被拒绝

我正在尝试将文件写入一个存在的目录,该目录由我在G:\\中创建,即不是系统目录或根驱动器,就像这样File.WriteAllBytes(directoryPath.Replace("wav","mp3"),asBytesArray);但这给我抛出了这个异常:Anunhandledexceptionoftype'System.UnauthorizedAccessException'occurredinmscorlib.dllAdditionalinformation:Accesstothepath'G:\Song'isdenied.我该如何解决这个问题?请帮忙!这是在我从VisualSt

c# - System.Net.Http.Formatting.dll 导致 Newtonsoft.Json 出现问题

我的Windows服务与MVC项目位于同一解决方案中。MVC项目使用对需要Newtonsoft.Jsonv6+的SignalRClient的引用Windows服务使用System.Net.Http.Formatting,这需要Newtonsoft.Json版本4.5.0.0。我原以为这不会是个问题,因为我可以在我的App.Config中使用绑定(bind)重定向,但是我得到了一个错误Anunhandledexceptionoftype'System.IO.FileLoadException'occurredinSystem.Net.Http.Formatting.dllAddition

c# - 在 AWS Lambda 上使用 System.Drawing.Common NuGet 包时无法加载 DLL 'libdl'

我们有一个缩略图生成器lambda函数,我正在尝试将其更新到.NETCore2.0,但在使用Microsoft的System.Drawing.CommonNuGet包时遇到以下错误:TypeInitializationExceptionThetypeinitializerfor'Gdip'threwanexception.atSystem.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromScan0(Int32width,Int32height,Int32stride,Int32format,HandleRefscan0,IntPtr

c# - 避免重复接口(interface)的默认值

我有一个带有默认参数的接口(interface),我想从实现类的内部调用实现方法(除了从外部)。我也想使用它的默认参数。但是,如果我只是按名称调用方法,我就不能使用默认参数,因为它们只在接口(interface)中定义。我可以在实现方法中重复默认规范,但由于DRY和所有这些细节,这不太可能(尤其是编译器不会检查它们是否与接口(interface)的默认值匹配!)我通过引入一个名为_this的成员来解决这个问题,它与this相同,只是它被声明为接口(interface)类型。然后当我想使用默认参数时,我用_this调用方法。这是示例代码:publicinterfaceIMovable{/

c# - 无法编译,因为 Visual Studio 正在使用我的 DLL

我在VisualStudio2008中有一个相当大的.NET2.0解决方案(151个项目)。当我在VS中进行构建(即使只是一个项目)时,我经常收到一条错误消息,提示它无法复制其中一个我的DLL程序集到输出目录,因为它正在使用中。我没有任何其他进程在后台运行或现有的调试session将使用此程序集。如果我打开ProcessExplorer并搜索此程序集名称,VisualStudio(devenv.exe)会作为唯一结果出现。查看结果VisualStudio出于某种原因将我的程序集加载为DLL。关闭解决方案并重新打开它并不能解决问题。我必须完全退出VS才能解决这个非常具有破坏性的问题。有谁

c# - 为什么XmlSerializer可以序列化抽象类而不能序列化接口(interface)?

编辑这段代码应该可以说明整个问题:[XmlInclude(typeof(AThing1))]publicabstractclassAThing{publicabstractstringName{get;set;}}[XmlInclude(typeof(IThing1))]publicinterfaceIThing{stringName{get;set;}}publicclassAThing1:AThing{publicoverridestringName{get;set;}}publicclassIThing1:IThing{publicstringName{get;set;}}Lis

c# - 通过接口(interface)在多个集合中引用同一个对象

警告:这个问题使用类比角色扮演游戏作为例子。假设我正在使用C#制作我梦寐以求的角色扮演游戏。当玩家进入战斗时,会出现某种战场,其中包含与战斗相关的每个元素的引用,例如战场上的各种对手和可用元素。现在所有这些元素都有一个但几个角色:例如,盟友(通过直接继承成为战士)能够在战场上移动、发出命令或成为敌人的目标。现在那把巨大的石中剑在战斗中也有一些作用。显然它不能移动也不能发出命令,但它仍然可以被瞄准,并且它可以(希望)被抬起或使用。所有这些行为在我的代码中都由接口(interface)表示,因此无论实现它的对象是什么,都可以使用具有相同行为的所有对象。代码示例:publicclassAll