VSTO:如何修改第一个调用的函数

VSTO: How to modify first called function

所以我有这个用于 excel 的 VSTO 加载项,我想在其中使用 postSharp 进行诊断。

PostSharp 在第一次调用 class 之前需要以下代码:

<Log(AttributeExclude:=True)>

在第一个被调用函数中的代码如下:

LoggingServices.DefaultBackend = New Backends.Console.ConsoleLoggingBackend()

根据 documentation,加载项的任何启动代码都应放在 ThisAddin_Startup 函数中,但如果我把它放在那里,我会得到一个异常,即记录的函数是在设置后端之前调用。据说这个函数驻留在 ThisAddin.Designer.vb 中,但这似乎是生成的代码,我在 Visual Studio 解决方案中找不到它。

我应该把这段代码放在哪里,运行 它在加载项启动时?

您可以使用模块初始值设定项。有关详细信息,请参阅 http://doc.postsharp.net/module-initializer