0

C:\Users\<UserName>\AppData\Roaming\JetBrains\ReSharper\vAny\Plugins Resharper 7.1 では、フォルダに配置された Resharper プラグインを作成しました。VS 2012 では、プラグインは問題なく動作しました。

プラグインの目的は、現在開いている C# ファイルを分析し、当社のファイル ヘッダーがページの上部に記述されているかどうかを確認することです。そうでない場合は、コンテンツ全体が強調表示されます。

ここで、Resharper 9.2 に切り替えました。nuget でダウンロードした Resharper 9.2 SDK に対してソース コードを正常にコンパイルしました。しかし、Resharper プラグインが Resharper によって認識/動作していません。

プラグインを配置する場所に何か変更はありましたか? nuget パッケージの作成に関するいくつかの提案を読みましたが、この手順は本当に必要ですか?

プラグインを実行する方法を知りたいです。

4

2 に答える 2

2

質問する前にドキュメントを読まないのは気分が悪い。R# のドキュメントは非常に役に立ちます。

問題を解決した方法:

プロジェクトの名前を「.」に変更しました。はプロジェクトとアセンブリ名にありますCompany.MyPlugin。私は完全にナゲットが初めてですが、が配置>nuget.exe specされているディレクトリで実行する必要があることがわかりましたCompany.MyPlugin.csproj。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 パッケージを作成します>nuget.exe pack Company.MyPlugin.nuspec。アセンブリがフォルダーにないという警告が表示されlibます。これらの警告は無視してください。

それはまだ行われていませんでした。JetBrains が製品 R# から Resharper Platform に移行したため、いわゆる を作成する必要がありましたZoneMarker。最近、JetBrains は、適切な ZoneMarker が何であるかを把握するための適切なツールがまだないと言っています ( JetBrains Devguide HowTo ZoneMarkerを参照してください)。一時的な解決策として、空の ZoneMarker を定義できます。

using JetBrains.Application.BuildScript.Application.Zones;

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

ZoneMarker を追加して、アセンブリをコンパイルし、実行nugetしてパッケージを作成することができました。R# のオプション メニューのパッケージ ソースに適切なディレクトリを追加すると、MyPlugin が Extensions Manager に正常に表示されるようになりました。:)

devguide を読むことを強くお勧めします。JetBrains Devguide 拡張機能のトラブルシューティングもご覧ください。

于 2015-10-06T06:11:39.757 に答える
2

R# 9 以降では、単純な xcopy-deployment は機能しなくなり、NuGet パッケージを作成する必要があります (拡張機能を公開する予定がない場合も同様です)。

R# DevGuide の初期インストールローカル インストールを参照してください。

于 2015-10-05T23:58:57.243 に答える