【问题标题】:Upgrade error from 1.1.1: 'FileMode' exists in both 'System.IO.FileSystem.Primitives' and 'System.Runtime, Version=4.2.0.0从 1.1.1 升级错误:“System.IO.FileSystem.Primitives”和“System.Runtime”中都存在“FileMode”,版本 = 4.2.0.0
【发布时间】:2017-09-19 17:05:01
【问题描述】:

将我的项目更新到 1.1.1 后,以下两行不起作用: var d = new FileStream(Path.Combine(PathToFile, $"{fileName}.txt"), FileMode.Open); var fs = new StreamReader(d,Encoding.UTF8);

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

我收到以下错误:

  1. 错误 CS0433 类型“StreamReader”存在于“System.IO,版本=4.1.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”和“System.Runtime.Extensions,版本=4.2.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
  2. 错误 CS0433 类型 'FileMode' 存在于 'System.IO.FileSystem.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 和 'System.Runtime, Version=4.2.0.0, Culture=中立,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. 错误 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>

【问题讨论】:

  • 以前的版本包含System.IO的包参考
  • 我测试了您的建议,但没有帮助 - 我仍然收到错误消息。特别有意思的是版本冲突是基于IO版本4.**1**,即使我安装的是4.**3**版。

标签: asp.net-core .net-core


【解决方案1】:

here

重建 nuget 包修复它。 转到 %USERPROFILE%/.nuget 并将其全部清除。

还有here

@ericwj 根据网络工具团队的 joe 所说, 这是一个已知问题。 BrowserLink 包的一个版本存在错误引用,显然是 .NET Core 1.1 CLI 安装程序附带的版本。但是,在 RC.3 中,我们从 Core 1.1 模板中删除了 BrowserLink,因此它不应该成为新项目的问题。

【讨论】:

    【解决方案2】:

    在我的情况下,这发生在安装 SPA 模板之后。我不得不修复视觉工作室,以便它可以修复版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-03
      • 1970-01-01
      • 1970-01-01
      • 2016-09-06
      相关资源
      最近更新 更多