C# 以framework 4.6为目标的ASP.net核心应用程序无法解析.NETFramework 4.6版

C# 以framework 4.6为目标的ASP.net核心应用程序无法解析.NETFramework 4.6版,c#,asp.net,.net,asp.net-core,active-directory,C#,Asp.net,.net,Asp.net Core,Active Directory,为了使用System.DirectoryServices连接到Active Directory,我创建了一个针对完整.net 4.6框架的.net核心应用程序。我已将csproj文件更改如下,将net46添加到目标框架并添加system.directoryservices <PropertyGroup> <!--<TargetFramework>netcoreapp1.1</TargetFramework>--> <TargetFra

为了使用System.DirectoryServices连接到Active Directory,我创建了一个针对完整.net 4.6框架的.net核心应用程序。我已将csproj文件更改如下,将net46添加到目标框架并添加system.directoryservices

<PropertyGroup>
  <!--<TargetFramework>netcoreapp1.1</TargetFramework>-->
  <TargetFramework>net46</TargetFramework>
  <PackageTargetFallback>portable-net45+win8</PackageTargetFallback>
  <UserSecretsId>fdd24e9b-cd56-499e-9c1b-f8ef2b24ba09</UserSecretsId>
</PropertyGroup>

<ItemGroup>
  <Folder Include="wwwroot\" />
</ItemGroup>
<ItemGroup>
  <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" />
  <PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
  <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
  <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.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" />
  <PackageReference Include="System.DirectoryServices" Version="4.0.0" />
</ItemGroup>
<ItemGroup>
  <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0" />
</ItemGroup>


网络46
portable-net45+win8
fdd24e9b-cd56-499e-9c1b-f8ef2b24ba09

这一切都按预期工作,我可以重新加载项目,并完全使用目录服务。我现在尝试添加System.DirectoryServices.AccountManagement,方法与添加System.DirectoryServices相同,如下所示:

  <PackageReference Include="System.DirectoryServices" Version="4.0.0" />
  <PackageReference Include="System.DirectoryServices.AccountManagement" Version="4.0.0" />

但是,当我尝试重新加载项目时,会出现以下错误:

这个错误对我来说意味着.NET4.6框架不包含AccountManagement包,但它应该在4.0以上的版本中可用

我是asp.net核心开发的新手,所以我假设我遗漏了一些琐碎的东西,所以对这个问题的任何解释都会很好


非常感谢

您的项目文件需要如下所示

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net46</TargetFramework>
    <RuntimeIdentifier>win7-x86</RuntimeIdentifier>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" />
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1" />
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" />
    <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.1.0" />
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0" />
  </ItemGroup>
  <ItemGroup>
    <Reference Include="System.DirectoryServices.AccountManagement" />
  </ItemGroup>

</Project>

网络46
win7-x86

最后一个是普通参考,而不是包装参考。

谢谢!将AccountManagement添加为引用而不是packagereference起到了作用。