0

在创建 FileStream 以读取与TumblrSharp库一起使用的图像时,我收到此编译时错误。

我尝试通过添加引用添加引用,但没有要添加的 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'.

我还确保我的项目以 .NET 4.5 为目标,以匹配 TumblrSharp PCL 的目标。这是代码:

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();
        }
    }
}
4

2 回答 2

1

对于 PCL,我必须为所需的程序集手动添加对 web.config 编译部分的引用,例如:

<add assembly="System.IO, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
于 2016-07-06T17:34:53.753 回答
0

这是已知问题。阅读本文:
将应用程序编译为面向 .NET Framework 4.5.2 时出现错误消息

您应该安装 Microsoft .NET Framework 4.5.2 Developer Pack

于 2016-05-30T09:56:50.693 回答