相关疑难解决方法(0)

C#中的模块初始值设定项

模块初始值设定项是CLR的一项功能,无法在C#或VB.NET中直接使用.它们是名为的全局静态方法.cctor,保证在执行程序集中的任何其他代码(类型初始化程序,静态构造函数)之前运行.我最近想在一个项目中使用它并使用Mono.Cecil 将我自己的解决方案(控制台程序/ msbuild任务)一起攻击,但我想知道:

  1. 有没有办法欺骗C#编译器发射模块初始化器?任何属性(例如CompilerGenerated,SpecialName)或其他可以使用的技巧?

  2. C#/ VB.NET是否会出于某种目的自己发出这些初始化器?从我所看到的它们被托管C++用于某些互操作目的,但我找不到任何引用它们用于其他目的.有任何想法吗?

c# clr clr-module-initializer

23
推荐指数
3
解决办法
8654
查看次数

在c#控制台应用程序中是否有一种方法可以在main函数之前自动运行一段代码

我最近遇到了针对asp.net应用程序的preapplicationstart方法.对于控制台应用程序我需要类似的东西.我有一个外部日志记录DLL.我想配置日志记录,以便在引用dll时自动执行一些日志记录代码.我只需要在执行任何其他代码之前调用类构造函数.任何帮助,将不胜感激.

与Application Insights一样,在添加对mvc应用程序的引用并将检测密钥添加到配置文件时,会自动收集perf计数器.对于控制台应用程序我需要类似的东西.

.net c# asp.net .net-4.5 azure-application-insights

2
推荐指数
1
解决办法
185
查看次数