2017-06-04 13 views
1

クロスプラットフォームをターゲットにするパッケージを開発中 net40またはnet45xを対象とすると、net40 sdkがMacにインストールされていないため、プロジェクトをビルドできません。Macを使用している場合、クロスプラットフォームパッケージを開発することは可能ですか?

Macでクロスプラットフォームライブラリを開発することは可能ですか、それを行うためのウィンドウが必要ですか?

私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を追加する必要はありません。

あなたが実際に(net46以上でサポートされている)netstandard1.3を必要とし、(任意の.NET標準でサポートされていない)さらにnet40をターゲットにしたい場合は、.NETのコアベースの上でそれをコンパイルする方法はありません環境(あなたのMac)。この場合、Mac用の.NET Framework SDK(netという名前が付いている)が存在しないため、Windowsのみのオプションです。

関連する問題