2017-07-25 116 views
0

的缺失命名空間我有一個基於.NET的核心兩個相同的應用程序。相同版本的框架

首先是在碼頭集裝箱,我有1.0.4版本的.net核心。

二是在我的虛擬機Ubuntu 16.0.4中我也有.net核心的1.0.4版本。

問題是,當我想要在基於Docker容器的應用程序上使用聲明時,找不到聲明命名空間,但在Ubuntu虛擬機上,一切正常。

這是爲什麼? 這兩個應用程序都使用相同的.net核心框架,所以爲什麼我無法在我的Docker容器上找到Claim命名空間?

這可能聽起來不可思議,但是,我有3個解決方案,在第一解決索償命名空間是可用的,但對其餘doestn't

還有的csproj文件。

<Project Sdk="Microsoft.NET.Sdk.Web"> 
    <PropertyGroup> 
    <TargetFramework>netcoreapp1.1</TargetFramework> 
    </PropertyGroup> 
    <ItemGroup> 
    <Folder Include="wwwroot\" /> 
    </ItemGroup> 

    <ItemGroup> 
    <PackageReference Include="AutoMapper" Version="6.1.1" /> 
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" /> 
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.3" /> 
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.2" /> 
    </ItemGroup> 
    <ItemGroup> 
    <ProjectReference Include="..\Evento.Infrastructure\Evento.Infrastructure.csproj" /> 
    </ItemGroup> 
</Project> 

<Project Sdk="Microsoft.NET.Sdk"> 
    <ItemGroup> 
    <ProjectReference Include="..\Evento.Core\Evento.Core.csproj" /> 
    </ItemGroup> 
    <ItemGroup> 
    <PackageReference Include="AutoMapper" Version="6.0.2" /> 
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="1.1.2" /> 
    <PackageReference Include="NLog.Extensions.Logging " Version="1.0.0-*" /> 
    <PackageReference Include="NLog.Web.AspNetCore" Version="4.4.0" /> 
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" /> 
    </ItemGroup> 
    <PropertyGroup> 
    <TargetFramework>netstandard1.4</TargetFramework> 
    </PropertyGroup> 

</Project> 

<Project Sdk="Microsoft.NET.Sdk"> 
    <PropertyGroup> 
    <TargetFramework>netstandard1.4</TargetFramework> 
    </PropertyGroup> 
</Project> 

回答

0

我還沒有與碼頭工人集裝箱.NET工作。但我可以給你一個檢查指針。運行虛擬機和Docker容器時,很多事情可能會有所不同。

您的虛擬機可能會有一個bash_profile,其中可能會在docker上丟失一些PATH設置。此外,您的碼頭集裝箱將只運行主流程,而在您的虛擬機中,其他服務可能正在運行。這可能會或可能不會影響您的代碼。