c# - VS 2017 版本 15.5.1 - Unresolved System.Net.Http 项目引用

标签 c# visual-studio

我知道您在下面看到的代码并不完美,但它是我正在帮助维护的代码状态的实际表示。我的问题不是关于构建此代码的正确方法,而是为什么此代码在 VS 2017 的早期版本(如 2 周前)中有效,而现在却无效。我正在尝试确定此问题是否是将要解决的 VS 错误,或者是否需要在我们的代码库中解决。

此项目在 VS 2017 版本 15.4.5(以及 VS 2015)中有适当的引用,但在 VS 2017 15.5.1 或 15.5.2 中没有。

这个显示问题的示例解决方案只有一个项目。 下面是项目文件:

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <OldToolsVersion>3.5</OldToolsVersion>
    <IsWebBootstrapper>true</IsWebBootstrapper>
    <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
    <Install>true</Install>
    <InstallFrom>Web</InstallFrom>
    <UpdateEnabled>true</UpdateEnabled>
    <UpdateMode>Foreground</UpdateMode>
    <UpdateInterval>7</UpdateInterval>
    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
    <UpdatePeriodically>false</UpdatePeriodically>
    <UpdateRequired>false</UpdateRequired>
    <MapFileExtensions>true</MapFileExtensions>
    <ApplicationRevision>0</ApplicationRevision>
    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
    <UseApplicationTrust>false</UseApplicationTrust>
    <BootstrapperEnabled>true</BootstrapperEnabled>
    <ProjectGuid>{B3FE0477-3F25-4D78-9618-2DD0889C0194}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
    <Prefer32Bit>false</Prefer32Bit>
  </PropertyGroup>
  <ItemGroup>
    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
      <Visible>False</Visible>
      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
      <Install>false</Install>
    </BootstrapperPackage>
    <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
      <Visible>False</Visible>
      <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
      <Install>true</Install>
    </BootstrapperPackage>
    <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
      <Visible>False</Visible>
      <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
      <Install>false</Install>
    </BootstrapperPackage>
    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
      <Visible>False</Visible>
      <ProductName>.NET Framework 3.5</ProductName>
      <Install>false</Install>
    </BootstrapperPackage>
    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
      <Visible>False</Visible>
      <ProductName>.NET Framework 3.5 SP1</ProductName>
      <Install>false</Install>
    </BootstrapperPackage>
  </ItemGroup>
  <ItemGroup>
    <Compile Include="Class1.cs" />
  </ItemGroup>
  <ItemGroup>
    <Reference Include="System.Net.Http">
      <HintPath>..\..\packages\System.Net.Http.2.0.20126.16343\lib\net40\System.Net.Http.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="System.Net.Http.WebRequest">
      <HintPath>..\..\packages\System.Net.Http.2.0.20126.16343\lib\net40\System.Net.Http.WebRequest.dll</HintPath>
      <Private>True</Private>
    </Reference>
  </ItemGroup>
  <ItemGroup>
    <None Include="packages.config" />
  </ItemGroup>
  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
</Project>

项目只包含一个类:

using System.Net.Http;

namespace Reference_Issue
{
    public class Class1
    {
        private HttpRequestMessage test;
        public Class1()
        {
            test = new HttpRequestMessage();
        }
    }
}

和 package.config

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="System.Net.Http" version="2.0.20126.16343" targetFramework="net45" />
</packages>

最佳答案

关于c# - VS 2017 版本 15.5.1 - Unresolved System.Net.Http 项目引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47821894/

相关文章:

c# - 如何在 C# 中获取/设置文件夹类型

c++ - Visual Studio 解决方案 : static or shared projects?

c# - 使用作业对象限制用户处理器时间和查看虚拟内存

c# - 为什么通过 ASP.NET 方法运行查询比 native SQL 花费更长的时间?

c# - 有没有办法终止 MVC Razor @ : line?

c# - 自定义事务实现 - 线程和锁

javascript - 可以让自定义 javascript 文件在 VS 2010 中具有智能感知吗?

database - 无法从 TFS 部署数据库

c# - 如何让 Resharper 知道框架版本?

.net - 在 Visual Studio 中使用 x64 库的 F# 类型提供程序