2017-06-04 80 views
1

我正在開發一款應該瞄準跨平臺的軟件包, 當瞄準框架net40net45x時,我無法構建項目,因爲net40 sdk沒有安裝在我的mac上。如果使用mac,是否可以開發跨平臺軟件包?

是否有可能在Mac上開發跨平臺庫,或者我需要Windows來做到這一點?

我的csproj文件

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

    <PropertyGroup> 
    <PackageId>ID</PackageId> 
    <VersionSuffix>$(VersionSuffix)</VersionSuffix> 
    <TargetFrameworks>net45;net451;netstandard1.3</TargetFrameworks> 
    </PropertyGroup> 

    <ItemGroup Condition=" '$(TargetFramework)' == 'net45' OR '$(TargetFramework)' == 'net451' "> 
    <Reference Include="System"/> 
    <Reference Include="System.Data"/> 
    <Reference Include="System.Xml"/> 
    <Reference Include="System.Xml.Linq"/> 
    <Reference Include="Microsoft.CSharp"/> 
    </ItemGroup> 

    <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.3' "> 
    <PackageReference Include="System.Reflection.TypeExtensions" Version="4.3.0"/> 
    <PackageReference Include="ReflectionBridge" Version="0.0.12"/> 
    </ItemGroup> 
</Project> 
+0

無法使用.NET 4.0或.NET 4.5跨平臺。 –

回答

0

當你的目標netstandard1.2或更低,根據the documentation已經在net45net451您的庫運行。這是.NET標準的目的。無需添加net45net451

然而,如果你確實需要netstandard1.3(由net46或更高版本支持),並希望針對net40另外(這是不以任何.NET支持的標準),沒有辦法對其進行編譯.NET的核心基礎環境(你的Mac)。在這種情況下,Windows是唯一的選擇,因爲沒有用於Mac的.NET Framework SDK(net名字符號暗示)。