2017-04-22 23 views
1

将我的项目更新到1.1.1后,以下两行不会工作: var d = new FileStream(Path.Combine(PathToFile, $"{fileName}.txt"), FileMode.Open); var fs = new StreamReader(d,Encoding.UTF8);从1.1.1升级错误:'FileMode'存在于'System.IO.FileSystem.Primitives'和'System.Runtime,Version = 4.2.0.0

当我将chane恢复到csproj文件时,错误消失。我究竟做错了什么?

我得到以下错误:

  1. 错误CS0433类型 '的StreamReader' 存在于两个 'System.IO,版本= 4.1.0.0,文化=中性公钥= b03f5f7f11d50a3a' 和“System.Runtime .Extensions,Version = 4.2.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'
  2. 错误CS0433'System.IO.FileSystem.Primitives,Version = 4.0.1.0,Culture = neutral,PublicKeyToken'中存在'FileMode' = b03f5f7f11d50a3a'和'System.Runtime,Version = 4.2.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'
  3. 错误CS0433类型'编码'System.Text.Encoding,Version = 4.0.10.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'和'System.Runtime,Version = 4.2.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'
  4. 错误CS0433 “System.Text.Encoding,Version = 4.0.10.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a”和“System.Runtime,Version = 4.2.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'
  5. 中都存在类型'Encoding'
  6. 错误CS1503参数1:无法从 '串' 到 'System.IntPtr'

我的csproj文件转换为:

<Project Sdk="Microsoft.NET.Sdk.Web"> 
    <PropertyGroup> 
    <TargetFramework>netcoreapp1.1</TargetFramework> 
    <DebugType>portable</DebugType> 
    <AssemblyName>Backend</AssemblyName> 
    <OutputType>Exe</OutputType> 
    <PackageId>Backend</PackageId> 
    <PackageTargetFallback>portable-net45+win8</PackageTargetFallback> 
    <DockerComposeProjectPath>..\docker-compose.dcproj</DockerComposeProjectPath> 
    </PropertyGroup> 
    <ItemGroup> 
    <Compile Remove="Model\**" /> 
    <Content Remove="Model\**" /> 
    <EmbeddedResource Remove="Model\**" /> 
    <None Remove="Model\**" /> 
    </ItemGroup> 
    <ItemGroup> 
    <ProjectReference Include="..\Engine\Engine.csproj" /> 
    </ItemGroup> 
    <ItemGroup> 
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" /> 
    <PackageReference Include="Microsoft.AspNetCore.Diagnostics" Version="1.1.1" /> 
    <PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="1.1.1" /> 
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.1" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.1" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.1.1" /> 
    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="1.1.1" /> 
    <PackageReference Include="Microsoft.AspNetCore.ResponseCompression" Version="1.0.1" /> 
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" /> 
    <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="1.1.0" /> 
    </ItemGroup> 
    <ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp1.1' "> 
    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="1.1.1" /> 
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.AspNetCore.Cors" Version="1.1.1" /> 
    <PackageReference Include="System.ValueTuple" Version="4.3.0" /> 
    </ItemGroup> 
    <ItemGroup> 
    <DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="1.0.0-msbuild3-final" /> 
    </ItemGroup> 
</Project> 

一版本:

<Project Sdk="Microsoft.NET.Sdk.Web"> 
    <PropertyGroup> 
    <TargetFramework>netcoreapp1.1</TargetFramework> 
    <DebugType>portable</DebugType> 
    <AssemblyName>Backend</AssemblyName> 
    <OutputType>Exe</OutputType> 
    <PackageId>Backend</PackageId> 
    <PackageTargetFallback>portable-net45+win8</PackageTargetFallback> 
    <DockerComposeProjectPath>..\docker-compose.dcproj</DockerComposeProjectPath> 
    </PropertyGroup> 
    <ItemGroup> 
    <Compile Remove="Model\**" /> 
    <Content Remove="Model\**" /> 
    <EmbeddedResource Remove="Model\**" /> 
    <None Remove="Model\**" /> 
    </ItemGroup> 
    <ItemGroup> 
    <ProjectReference Include="..\Engine\Engine.csproj" /> 
    </ItemGroup> 
    <ItemGroup> 
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.AspNetCore.Diagnostics" Version="1.0.1" /> 
    <PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="1.0.1" /> 
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.AspNetCore.ResponseCompression" Version="1.0.0" /> 
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.0.0" /> 
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="1.1.0-msbuild3-final" /> 
    </ItemGroup> 
    <ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp1.1' "> 
    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.AspNetCore.Cors" Version="1.1.0" /> 
    <PackageReference Include="System.IO" Version="4.3.0" /> 
    <PackageReference Include="System.ValueTuple" Version="4.3.0" /> 
    </ItemGroup> 
    <ItemGroup> 
    <DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="1.0.0-msbuild3-final" /> 
    </ItemGroup> 
</Project> 
+0

以前版本包含了'System.IO' – VMAtm

+0

我测试你的建议装基准,它没没有帮助 - 我仍然遇到错误。特别有趣的是版本冲突是基于IO版本4。** 1 **,即使我安装了版本4。** 3 **。 – Relman

回答

1

here

Rebuilding the nuget package fixes it. Go to %USERPROFILE%/.nuget and clear it all.

而且here

@ericwj According to joe on web tools team, that’s a known issue. There was one build of the BrowserLink package that had bad references, and that’s apparently the one that shipped with the .NET Core 1.1 CLI installer. However, in RC.3, we removed BrowserLink from the Core 1.1 template, so it shouldn’t be an issue with new projects.