簡體   English   中英

將Resharper 9.2插件部署為dll

[英]Deploy Resharper 9.2 Plugin as a dll

對於Resharper 7.1,我們編寫了一個Resharper插件-放置在C:\\Users\\<UserName>\\AppData\\Roaming\\JetBrains\\ReSharper\\vAny\\Plugins文件夾中。 在VS 2012中,該插件可以正常工作。

該插件的目的是分析當前打開的C#文件,並檢查我們公司的文件頭是否寫在頁面頂部。 如果沒有,它將突出顯示整個內容。

現在我們切換到Resharper 9.2。 我已根據nuget下載的Resharper 9.2 SDK成功編譯了源代碼。 但是我沒有得到Resharper認可/工作的Resharper插件。

插件放置位置是否有變化? 我閱讀了有關創建nuget程序包的一些建議-但這真的必要嗎?

我想學習如何使插件運行。

從R#9開始,簡單的xcopy-deployment不再起作用,您需要創建一個NuGet包(如果您不打算發布擴展名,則也是如此)。

請參閱R#DevGuide中的初始安裝本地安裝

不好意思,在提出問題之前不閱讀文檔。 R#文檔非常有用。

我如何解決問題:

我將項目重命名為“。”。 在項目和程序集的名稱中,比如說Company.MyPlugin 我是nuget的新手,但我發現我需要在Company.MyPlugin.csproj所在的目錄中運行>nuget.exe spec Nuget將創建一個必須編輯的Company.MyPlugin.nuspec文件。 我刪除了一些部分,因為我不想在線部署插件。

<?xml version="1.0"?>
<package >
  <metadata>
    <id>Company.MyPlugin</id>
    <version>1.0.0.0</version>
    <title>My Plugin Title</title>
    <authors>Myself</authors>
    <owners>Company</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Some description.</description>
    <copyright>Copyright 2015</copyright>
    <dependencies>
      <dependency id="Wave" version="[3.0]" />
    </dependencies>
  </metadata>
  <files>
    <file src="bin\Release\Company.MyPlugin.dll" target="DotFiles" />
  </files>
</package>

請注意,我想使該軟件包可用於R#9.2,因此我需要依賴Wave 3.0。 我讀過某個地方,也應該對Resharper 9.2有依賴性,有人指出,這不再是必需的。 它在沒有Resharper 9.2依賴的情況下為我工作。

使用>nuget.exe pack Company.MyPlugin.nuspec創建nuget包。 將會出現一些有關程序集不在lib文件夾中的警告。 忽略這些警告。

尚未完成。 由於JetBrains從產品R#遷移到Resharper平台,我不得不創建一個所謂的ZoneMarker 這些天來,JetBrains表示尚無適當的工具來確定正確的ZoneMarker是什么(請參閱JetBrains Devguide HowTo ZoneMarker )。 作為臨時解決方案,您可以定義一個空的ZoneMarker。

using JetBrains.Application.BuildScript.Application.Zones;

namespace Company.MyPlugin
{
  [ZoneMarker]
  public class ZoneMarker
  {
  }
}

添加了ZoneMarker之后,我可以編譯程序集,運行nuget創建一個包。 將正確的目錄添加到R#選項菜單中的Package Sources中,可以使MyPlugin成功出現在Extensions Manager中,並且-確實很酷-可以正常工作。 :)

我強烈建議您閱讀開發指南。 還可以查看JetBrains Devguide Extensions疑難解答

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM