[英]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#文檔非常有用。
我如何解決問題:
我將項目重命名為“。”。 在項目和程序集的名稱中,比如說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.