TumblrSharpライブラリで使用する画像を読み取るための FileStream を作成すると、このコンパイル時エラーが発生します。
Add Reference を使用して参照を追加しようとしましたが、追加する System.IO 参照がありません。また、.NET 4.0 フレームワーク フォルダーを手動で参照して、その方法で DLL を選択しようとしましたが、そこにはありません。私のアプリケーションでは、System.IO の using ステートメントが表示されますが、ファイルに下線が引かれているエラーはありません。
The type 'System.IO.Stream' is defined in an assembly that is not referenced.
You must add a reference to assembly 'System.IO, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
また、TumblrSharp PCL のターゲットと一致するように、プロジェクトが .NET 4.5 をターゲットにしていることも確認しました。コードは次のとおりです。
static async void PostImages()
{
var factory = new TumblrClientFactory();
using (var client = factory.Create<TumblrClient>(consumerKey, consumerSecret, new Token(ConsumerToken, ConsumerSecret)))
{
var directory = new DirectoryInfo(imageFolder);
var files = directory.EnumerateFiles();
foreach (var file in files)
{
var image = file.OpenRead();
var bytes = new byte[image.Length];
image.Read(bytes, 0, Convert.ToInt32(image.Length));
var tags = file.Name.Split('$')[1].Split(',');
var post = PostData.CreatePhoto(new[] { new BinaryFile(bytes) }, null, "http://www.example.com");
post.Tags.AddRange(tags);
var result = await client.CreatePostAsync("blogname", post);
if (result.PostId <= 0)
{
break;
}
file.Delete();
}
}
}