Visual studio 2015 在何处复制Visual Studio要找到的Resharper外部注释XML文件
我已经为我的一个库创建了一个XML注释文件,并希望使其可用于我的所有项目,而无需将其复制到每个项目二进制文件夹中 就我所读到的内容而言,可以通过将其复制到Resharper安装文件夹中来完成,但我尝试了一些地方,但没有成功 我已将其复制到以下文件夹中:Visual studio 2015 在何处复制Visual Studio要找到的Resharper外部注释XML文件,visual-studio-2015,resharper,resharper-9.1,Visual Studio 2015,Resharper,Resharper 9.1,我已经为我的一个库创建了一个XML注释文件,并希望使其可用于我的所有项目,而无需将其复制到每个项目二进制文件夹中 就我所读到的内容而言,可以通过将其复制到Resharper安装文件夹中来完成,但我尝试了一些地方,但没有成功 我已将其复制到以下文件夹中: C:\Users\myuser\AppData\Local\JetBrains\Installations\ReSharperPlatformVs14\ExternalAnnotations\MyCompany C:\Users\myuser\
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>
“格式”
“格式”
“格式”
“格式”
“格式”
我错过了什么
更新:
正如@citizenmart所说,我的xml是错误的,参数节点需要嵌套在attribute元素中。我用一个简单的项目来实现这一点,使问题得以解决,但这是通过在与dll相同的文件夹中创建外部注释并使用.ExternalAnnotation前缀实现的
我仍在试图找出在我的机器上复制它的位置,这样它就可以被Resharper拾取,而不必沿着dll分发
更新2:
在与@citizenmart讨论之后,我决定将注释随dll一起发送。他有一个很好的观点,将它添加到Resharper的安装目录中会使它们在每个新安装中消失,再加上它不是一个非常直观的地方。此外,我还无法从那里获取VS以获取注释。如果我没有记错,我认为它需要位于
ExternalAnnotations
的子文件夹中。在提取解决方案之前,您还需要关闭并重新打开它
您也可以在.dll旁边发送文件,只要它以.ExternalAnnotations.xml
结尾,例如foo.dll
需要foo.ExternalAnnotations.dll
或者,您可以在扩展中发布注释。这被打包为一个带有自定义文件布局的nuget包。您可以查看community extensions项目中的示例(如果您的程序集是公共程序集,您甚至可能希望添加请求!)
但是,这里显示的示例XML是不正确的,参数
元素必须是属性
元素的子元素。它告诉ReSharper如何构建一个应该应用的参数,ctor
属性为ReSharper提供构造函数(和类),然后我们需要将参数传递给该构造函数,因此每个参数
元素都需要是属性
元素的子元素。换言之:
格式
在“C:\Users\myUser\AppData\Local\JetBrains\ReSharper\vAny\vs14.0\Bin\ExternalAnnotations\Company”上尝试,但未成功(随后关闭和打开VS)。扩展选项很有趣,但我只想将文件复制到一个共享文件夹,并被所有解决方案接收。当这个xml与dll并排时,您是否让它工作?您可能想尝试这样做,并查看参数-我认为您希望它不被引用,因此
格式。甚至不在我的项目引用的dll所在的同一文件夹中进行复制似乎都有效。我将其重命名为:“Company.Tools.Libs.Logging.ExternalAnnotations.xml”,而dll名为:“Company.Tools.Libs.Logging.dll”。参数上的引号是由我用来生成注释文件的ReSharper internal tools()生成的。在复制解决方案后,您是否重新打开了它?如果你能把程序集和xml发给我,我会看一看(马特·埃利斯在jet brains,很高兴签署NDAs)。但是从表面上看,一切看起来都很好,而且应该会起作用。谢谢@citizenmart。我无法向您发送实际的程序集,但我将尝试创建一个新的类似程序集并发送给您。最近工作很忙,所以可能需要一段时间