草庐IT

Assemblies

全部标签

c# - 为什么 DbParameterCollection 中的三个属性在引用程序集中是抽象的,而在其他情况下是虚拟的?

我正在将一个项目从project.json移动到新式csproj格式,它包括一个派生自DbParameterCollection的类.在我的真实项目中,我使用了多目标,但出于这个问题的目的,我们只需要关心net45。编译器告诉我必须重写三个以前不需要的属性:IsFixedSizeIsReadOnlyIsSynchronized如果您点击这些文档链接(适用于.NET4.5),您将看到所有属性都是虚拟的-而不是抽象的。如果我只是通过调用csc来构建代码,一切都很好......只有在使用.NETCoreSDK时我才会遇到问题。下面是重现问题的示例代码:项目文件:net45C#代码:using

c# - 为什么 DbParameterCollection 中的三个属性在引用程序集中是抽象的,而在其他情况下是虚拟的?

我正在将一个项目从project.json移动到新式csproj格式,它包括一个派生自DbParameterCollection的类.在我的真实项目中,我使用了多目标,但出于这个问题的目的,我们只需要关心net45。编译器告诉我必须重写三个以前不需要的属性:IsFixedSizeIsReadOnlyIsSynchronized如果您点击这些文档链接(适用于.NET4.5),您将看到所有属性都是虚拟的-而不是抽象的。如果我只是通过调用csc来构建代码,一切都很好......只有在使用.NETCoreSDK时我才会遇到问题。下面是重现问题的示例代码:项目文件:net45C#代码:using

c# - 如何列出所有加载的程序集?

在.Net中,我想枚举所有AppDomain上的所有已加载程序集。为我的程序的AppDomain执行此操作非常简单AppDomain.CurrentDomain.GetAssemblies()。我是否需要以某种方式访问​​每个AppDomain?或者是否已经有执行此操作的工具? 最佳答案 使用VisualStudio将调试器附加到进程(例如从调试开始或调试>附加到进程)调试时,显示模块窗口(调试>窗口>模块)这提供了有关每个程序集、应用程序域的详细信息,并提供了一些加载符号的选项(即包含调试信息的pdb文件)。使用进程浏览器如果你想

c# - 如何列出所有加载的程序集?

在.Net中,我想枚举所有AppDomain上的所有已加载程序集。为我的程序的AppDomain执行此操作非常简单AppDomain.CurrentDomain.GetAssemblies()。我是否需要以某种方式访问​​每个AppDomain?或者是否已经有执行此操作的工具? 最佳答案 使用VisualStudio将调试器附加到进程(例如从调试开始或调试>附加到进程)调试时,显示模块窗口(调试>窗口>模块)这提供了有关每个程序集、应用程序域的详细信息,并提供了一些加载符号的选项(即包含调试信息的pdb文件)。使用进程浏览器如果你想

c# - 如何使用所有引用递归地将程序集加载到 AppDomain?

我想加载到一个新的AppDomain一些具有复杂引用树的程序集(MyDll.dll->Microsoft.Office.Interop.Excel.dll->Microsoft.Vbe.Interop.dll->Office.dll->stdole.dll)据我所知,当程序集被加载到AppDomain时,它的引用不会自动加载,我必须手动加载它们。所以当我这样做时:stringdir=@"SomePath";//differentfromAppDomain.CurrentDomain.BaseDirectorystringpath=System.IO.Path.Combine(dir,"

c# - 如何使用所有引用递归地将程序集加载到 AppDomain?

我想加载到一个新的AppDomain一些具有复杂引用树的程序集(MyDll.dll->Microsoft.Office.Interop.Excel.dll->Microsoft.Vbe.Interop.dll->Office.dll->stdole.dll)据我所知,当程序集被加载到AppDomain时,它的引用不会自动加载,我必须手动加载它们。所以当我这样做时:stringdir=@"SomePath";//differentfromAppDomain.CurrentDomain.BaseDirectorystringpath=System.IO.Path.Combine(dir,"

c# - 如何查看 C# 编译器生成的 MSIL/CIL?为什么叫组装呢?

我是.NETC#编程的新手。我正在看几本书。据说不是将C#代码直接编译成机器代码,而是将其转换成一种中间语言(称为MSILakaCIL)。但是当我编译时,我得到一个exe/dll文件。这些exe/dll文件中是否包含此MSIL/CIL?我想看看那个中间语言代码,只是为了感受一下它的存在。如何查看?他们将此exe/dll文件称为程序集。他们使用这个“花哨的词”只是为了将它们与包含native/机器代码的exe/dll文件区分开来吗? 最佳答案 是的,更准确地说是在PEfile的.text部分(可移植的可执行文件=*.exe或*.dll

c# - 如何查看 C# 编译器生成的 MSIL/CIL?为什么叫组装呢?

我是.NETC#编程的新手。我正在看几本书。据说不是将C#代码直接编译成机器代码,而是将其转换成一种中间语言(称为MSILakaCIL)。但是当我编译时,我得到一个exe/dll文件。这些exe/dll文件中是否包含此MSIL/CIL?我想看看那个中间语言代码,只是为了感受一下它的存在。如何查看?他们将此exe/dll文件称为程序集。他们使用这个“花哨的词”只是为了将它们与包含native/机器代码的exe/dll文件区分开来吗? 最佳答案 是的,更准确地说是在PEfile的.text部分(可移植的可执行文件=*.exe或*.dll

C#:为什么要签署程序集?

在我接手的一些C#代码中(在VisualStudio2005中),我注意到程序集都使用相同的.snk文件签名。为什么以前的作者会以这种方式签署程序集?签署程序集是必要的吗?不签名有错吗?有什么缺点签署程序集-它会导致延迟吗? 最佳答案 Whywouldthepreviousauthorhavesignedtheassembliesinthisway?不知道,也许他希望他的所有程序集都使用相同的key签名。Issigningassembliesnecessaryandwhatwouldbewrongwithnotsigningit?不

C#:为什么要签署程序集?

在我接手的一些C#代码中(在VisualStudio2005中),我注意到程序集都使用相同的.snk文件签名。为什么以前的作者会以这种方式签署程序集?签署程序集是必要的吗?不签名有错吗?有什么缺点签署程序集-它会导致延迟吗? 最佳答案 Whywouldthepreviousauthorhavesignedtheassembliesinthisway?不知道,也许他希望他的所有程序集都使用相同的key签名。Issigningassembliesnecessaryandwhatwouldbewrongwithnotsigningit?不