我为我的一个库创建了一个 XML 注释文件,并希望它可用于我的所有项目,而无需将其复制到每个项目二进制文件夹中。
对于我所阅读的内容,可以通过将其复制到 Resharper 安装文件夹中来完成,但我尝试了几个地方都没有成功。
我已将其复制到以下文件夹中:
C:\Users\myuser\AppData\Local\JetBrains\Installations\ReSharperPlatformVs14\ExternalAnnotations\MyCompany
C:\Users\myuser\AppData\Local\JetBrains\ReSharper\vAny\vs14.0\Bin\ExternalAnnotations
xml 文件与注释的 dll 具有完全相同的名称,但扩展名为 xml。内容如下:
<assembly name="Company.Tools.Libs.Logging">
<member name="M:Company.Tools.Libs.Logging.Interfaces.IBasicLogger.WriteDebug(System.String,System.Object[])">
<attribute ctor="M:JetBrains.Annotations.StringFormatMethodAttribute.#ctor(System.String)" />
<argument>"format"</argument>
</member>
<member name="M:Company.Tools.Libs.Logging.Interfaces.IBasicLogger.WriteInfo(System.String,System.Object[])">
<attribute ctor="M:JetBrains.Annotations.StringFormatMethodAttribute.#ctor(System.String)" />
<argument>"format"</argument>
</member>
<member name="M:Company.Tools.Libs.Logging.Interfaces.IBasicLogger.WriteWarning(System.String,System.Object[])">
<attribute ctor="M:JetBrains.Annotations.StringFormatMethodAttribute.#ctor(System.String)" />
<argument>"format"</argument>
</member>
<member name="M:Company.Tools.Libs.Logging.Interfaces.IBasicLogger.WriteError(System.String,System.Object[])">
<attribute ctor="M:JetBrains.Annotations.StringFormatMethodAttribute.#ctor(System.String)" />
<argument>"format"</argument>
</member>
<member name="M:Company.Tools.Libs.Logging.Interfaces.IBasicLogger.WriteFatal(System.String,System.Object[])">
<attribute ctor="M:JetBrains.Annotations.StringFormatMethodAttribute.#ctor(System.String)" />
<argument>"format"</argument>
</member>
</assembly>
我在这里想念什么?
更新:
正如@citizenmatt 所说,我的xml 错误,参数节点需要嵌套在属性元素内。使用我用来复制问题的简单项目执行此操作使其工作,但这是通过在与 dll 相同的文件夹中创建外部注释并使用 .ExternalAnnotation 前缀。
我仍在尝试找出在我的机器上复制它的位置,以便 Resharper 选择它而不沿着 dll 分发它。
更新 2:
在与@citizenmatt 讨论后,我决定将我的注释随 dll 一起发送。他有一个很好的观点,将它添加到 Resharper 的安装目录中将使它们在每次新安装中消失,而且它不是一个非常直观的地方。此外,我无法让 VS 从那里获取我的注释。