不好意思在提問之前不要閱讀文檔。 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
創建PACKE。將適當的目錄添加到R#選項菜單中的包源中,讓MyPlugin成功出現在擴展管理器中,並且 - 非常酷 - 它正在工作。 :)
我強烈建議閱讀devguide。也請看JetBrains Devguide Extensions Troubleshooting。