C# 如果未定义JETBRAINS_ANNOTATIONS条件,则属性将被忽略

C# 如果未定义JETBRAINS_ANNOTATIONS条件,则属性将被忽略,c#,.net,visual-studio,nuget,resharper,C#,.net,Visual Studio,Nuget,Resharper,我只对在开发期间使用感兴趣,我在nuget package.config文件中相应地标记了这一点: 我在尝试使用的属性上获得了此工具提示,例如[NotNull]: 如果我引用了JetBrains.Annotations库,为什么需要定义此条件?如果定义了JetBrains\u Annotations符号,则注释属性用法将编译到程序集中(程序集的使用者可以从中受益)。但是您会得到一个对Jetbrains.Annotations的程序集引用。(=>您不应该将包引用定义为developmentO

我只对在开发期间使用感兴趣,我在nuget package.config文件中相应地标记了这一点:


我在尝试使用的属性上获得了此工具提示,例如
[NotNull]


如果我引用了JetBrains.Annotations库,为什么需要定义此条件?

如果定义了
JetBrains\u Annotations
符号,则注释属性用法将编译到程序集中(程序集的使用者可以从中受益)。但是您会得到一个对
Jetbrains.Annotations
的程序集引用。(=>您不应该将包引用定义为
developmentOnly
,以便在项目上执行
nuget-pack
时自动将其作为依赖项引用。)

如果不定义它,程序集使用者将无法使用程序集的批注,并且您也不会依赖于
Jetbrains.annotations

有关详细信息,请参阅

长话短说:如果您是应用程序作者,只需引用包而不定义符号;如果您是库作者,请不要将其引用为
developmentOnly
,并定义符号(或将注释与代码一起分发为
internal
,如)


顺便说一句:如果您想要第二个没有条件定义的NuGet包,请投票。

如果您定义了
JETBRAINS\u注释
符号,您的注释属性用法将被编译到程序集中(程序集的使用者可以从中受益)。但是您会得到一个对
Jetbrains.Annotations
的程序集引用。(=>您不应该将包引用定义为
developmentOnly
,以便在项目上执行
nuget-pack
时自动将其作为依赖项引用。)

如果不定义它,程序集使用者将无法使用程序集的批注,并且您也不会依赖于
Jetbrains.annotations

有关详细信息,请参阅

长话短说:如果您是应用程序作者,只需引用包而不定义符号;如果您是库作者,请不要将其引用为
developmentOnly
,并定义符号(或将注释与代码一起分发为
internal
,如)


顺便说一句:如果你想要第二个没有条件定义的NuGet软件包,请投票。

你能分享一些代码片段来帮助我们重现这个问题吗?你能分享一些代码片段来帮助我们重现这个问题吗?