しんたろーさんのC88でのオリジナルキャラ抱き枕カバーです。
見た目は某金色に似てるなぁと思ったら、同人誌の方にもそう書いてあって。。
翔鶴は肌ちょっと黄色いかなと感じましたが、こちらは特にそういう印象は受けませんでした。
瑞鶴も待ってます!
しんたろーさんのC88でのオリジナルキャラ抱き枕カバーです。
見た目は某金色に似てるなぁと思ったら、同人誌の方にもそう書いてあって。。
翔鶴は肌ちょっと黄色いかなと感じましたが、こちらは特にそういう印象は受けませんでした。
瑞鶴も待ってます!
なちゅらるとんさんの利根(改二)抱き枕カバーです。
参照: 「利根抱き枕カバー」/「なちゅらるとん一日目M-28b」のイラスト [pixiv]
絵は好きなんですけど、線と印刷の粗さが少々目立ちます。
とりあえず簡単に。
ちゃんとしたのはそのうち気が向いたら書くかも。
でも既存開発者はわかってる人たちだからこれでも十分な気が……
新規開発も追々。
むしろちゃんと書くべきはこっち。。
KanColleViewer 4.0 がリリースされましたが、プラグインシステムが刷新されたため、3.x のプラグインは利用できなくなりました。
Release version 4.0 · Grabacr07/KanColleViewer
プラグイン システムの刷新 (version 3.8.2 またはそれ以前に向けて作られたプラグインは使用できなくなります)
というわけで、3.x プラグインをどう移行すればいいかを 雑に 簡単に説明します。
実際のコードは、本体に付属しているプラグインの実装などを参考にすると良いでしょう。
記事のメモ。
Windows の HTTP スタックには他にも HTTP.sys があるが、基本 IIS 向けのカーネルモードドライバとして動作する HTTP リスナーで、クライアントアプリには超使いにくいやつなんで今回は省略。
なお .NET Framework の System.Net.HttpListener の中身は HTTP.sys なので、アレもサーバー以外では超絶使いにくい。
どうやらレジストリを追加することで一応動くようで。
-NoPackageAnalysis
オプションが必要こんな感じ。
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>$id$</id>
<title>$title$</title>
<version>$version$</version>
<authors>$author$</authors>
<owners>$author$</owners>
<licenseUrl>http://LICENSE_URL_HERE_OR_DELETE_THIS_LINE</licenseUrl>
<projectUrl>http://PROJECT_URL_HERE_OR_DELETE_THIS_LINE</projectUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>$description$</description>
<language>ja-JP</language>
<tags>analyzers</tags>
<frameworkAssemblies>
</frameworkAssemblies>
<dependencies>
</dependencies>
</metadata>
<files>
<file src="bin\$configuration$\*.dll" target="analyzers\" exclude="**\Microsoft.CodeAnalysis.*;**\System.Collections.Immutable.*;**\System.Reflection.Metadata.*;**\System.Composition.*" />
<file src="tools\*.ps1" target="tools\" />
</files>
</package>
で、こう
nuget pack Hoge.csproj -NoPackageAnalysis -Properties Configuration=Release
参照 : Damir’s Corner – Quick Guide to Unit Testing Diagnostic Analyzers
Visual Studio 2015 RC にて、.NET Compiler Platform SDK Templates for RC の「Analyzer with Code Fix」テンプレートで Analyzer 用のプロジェクトを作成すると、自動的にテストプロジェクトも生成されます。
んでもってこれを使ってテストコードを書くわけですが、どうやらここでテストコードに与えるソース文字列がコンパイル通らないコードだとテストに失敗することがあるようです。
で、アセンブリ参照が足りない場合なんかも同様にコケるわけですが、テストプロジェクトにアセンブリ参照を追加しても残念ながら参照してくれません。
ではどうすれば良いかというと、テストプロジェクトの Helpers/DiagnosticVerifier.Helper.cs
内の CreateProject
メソッドにアセンブリ参照を追加している箇所があるので、そこに追加します。
var projectId = ProjectId.CreateNewId(debugName: TestProjectName);
var solution = new AdhocWorkspace()
.CurrentSolution
.AddProject(projectId, TestProjectName, TestProjectName, language)
.AddMetadataReference(projectId, CorlibReference)
.AddMetadataReference(projectId, SystemCoreReference)
.AddMetadataReference(projectId, CSharpSymbolsReference)
.AddMetadataReference(projectId, CodeAnalysisReference)
.AddMetadataReference(projectId, KanColleViewerCompositionReference)
.AddMetadataReference(projectId, SystemComponentModelCompositionReference)
;
int count = 0;
foreach (var source in sources)
{
var newFileName = fileNamePrefix + count + “.” + fileExt;
var documentId = DocumentId.CreateNewId(projectId, debugName: newFileName);
solution = solution.AddDocument(documentId, newFileName, SourceText.From(source));
count++;
}
return solution.GetProject(projectId);
}
//以下略
[/csharp]
これでアセンブリが参照されるようになり、テストが通るようになります。
これは RC 版でのテンプレートの問題なので、もしかしたら将来変更されるかもしれませんね。
基本的にはこれで→AppVeyor で NuGet パッケージの作成とデプロイを自動化 | grabacr.nét
ぐらばくせんせーに聞いたところ、以下の解決策が提示されました。
<version>$version$</version>
としておけば AssemblyInfo.cs のバージョン番号の NuGet パッケージになるAssemblyInfo.cs のバージョンを変更しないで push した場合、NuGet パッケージ自体は作成されますが、nguet.org に投げても「もうそのバージョンはあるぜ!」と言われてスキップされます。
ビルドも失敗するわけではない。いい感じですね。。
Branches and Tags – Appveyor には APPVEYOR_REPO_TAG
でタグが push されたかどうかわかるっぽく書いてあったので、タグで管理できるかと一瞬思ったけど、true
になる場合を観測できなかったので諦め。