2017-05-08 16 views
0

我創建了一個.net核心應用程序,我已經瞄準了完整的.net 4.6框架,以便使用System.DirectoryServices連接到Active Directory。我已經更改了csproj文件,如下所示將net46添加到目標框架並添加system.directoryservices。ASP.net核心應用程序目標框架4.6無法解析的.NETFramework版本4.6

<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> 

這一切都按預期工作,我可以重新加載項目,並在充分利用目錄服務。現在我試圖用同樣的方法添加System.DirectoryServices.AccountManagement如下面添加的System.DirectoryServices:

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

然而,當我試圖重新加載項目,我得到以下錯誤:

Unable to resolve error

錯誤意味着我的.NET 4.6框架不包含AccountManagement包,但它應該可用任何4.0以上。

我是新開發的asp.net內核,所以我認爲我錯過了一些微不足道的東西,所以對這個問題的任何解釋都會很棒。

非常感謝

回答

0

項目文件需要這個樣子,

<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> 

,最後一個是正常的參考,不包的參考。

+0

謝謝!添加AccountManagement作爲參考而不是packagereference起作用。 –

相關問題