我们正试图在我们的项目中使用Fody Nullguard,但即使进行了大量的试验(和相同数量的错误),我们也没有运行自动的null检查。
我们按照github仓库中的说明进行操作:
PM> Install-Package Fody
PM> Install-Package NullGuard.Fody并设置一个简单的测试项目(在许多方面,例如.NET核心,.net框架,静态方法,非静态方法...,它们都不起作用)如下:
static void TheFunc(string o)
{
Console.WriteLine("I'm alive!");
}
static void Main(string[] args)
{
TheFunc(null);
Console.ReadKey();
}我们还添加了包含以下内容的XML文件FodyWeavers.xml:
<?xml version="1.0" encoding="utf-8"?>
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
<NullGuard Mode="Implicit" IncludeDebugAssert="false" />
</Weavers>然而,没有抛出异常。所以问题是,是否有任何进一步的步骤需要让fody nullguard运行?
一件事是我们正在使用resharper。也许这就是问题所在?
发布于 2020-04-23 14:16:45
老问题,但我在寻找相同问题的答案时偶然发现了这个问题。
默认情况下,NullGuard只对公共成员进行验证(类和方法必须是公共的)。
您可以将它们设置为公共的,也可以通过在为应用程序执行初始化的文件顶部添加以下属性来更改此行为。
...
using NullGuard;
[assembly: NullGuard(ValidationFlags.All)]https://stackoverflow.com/questions/55241645
复制相似问题