2017-06-22 21 views
2

私のアプリでTextWriter.Synchronizedメソッドを使いたいです。私のターゲットフレームワークはnetcoreapp1.1です。TextWriter.Synchronized in netcoreapp1.1を使用するには

これは私がコンパイルしようとしているプログラムです。

using System; 
using System.IO; 

namespace program 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      using (var log = File.CreateText("out.log")) 
      { 
       var syncedLog = TextWriter.Synchronized(log); 
      } 
     } 
    } 
} 

これは私のcsprojファイルです:生憎

<Project Sdk="Microsoft.NET.Sdk"> 
    <PropertyGroup> 
    <OutputType>Exe</OutputType> 
    <TargetFramework>netcoreapp1.1</TargetFramework> 
    </PropertyGroup> 
</Project> 

、これは動作しません:

> dotnet run 
    Program.cs(12,47): error CS0117: 'TextWriter' does not contain a definition for 'Synchronized' 

行う方法私はこれを解決する?

答えて

1

.Net Core 1.1にはTextWriter.Synchronizedが存在しないので、自分で実装する必要があります。まず、the .Net Core 2.0 implementationを使用してください。 .Net Core 1.1ではサポートされていない[MethodImpl(MethodImplOptions.Synchronized)]を広く使用しているため、このコードを直接使用することはできません。しかし、それぞれの方法でそれをlock (this)に置き換えることができます。

関連する問題