2017-05-05 8 views
2

私は.netコアテストプロジェクトを持っています。 Visual Studioでビルドしたり、TestManagerを使用すると問題なくビルドできます。私はパッケージマネージャコンソールで次のコマンドを実行したときしかし、私はエラーを取得:エラーMSB4019:インポートしたプロジェクト "C: Program Files dotnet sdk 1.0.3 Microsoft Portable v5.0 Microsoft.Portable.CSharp.targets"が見つかりませんでした

DOTNETテストをC:\projects\moneyfox\Src\MoneyFox.DataAccess.Tests\MoneyFox.DataAccess.Tests.csproj

エラー:私はパスをチェックし、そこにそれは本当に存在していない

error MSB4019: The imported project "C:\Program Files\dotnet\sdk\1.0.3\Microsoft\Portable\v5.0\Microsoft.Portable.CSharp.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk 

。しかし、私はそれをどうすればいいのかと疑問に思っています。なぜなら、私はそれをビジュアルスタジオの上に構築するからです。 提案がありますか?

+0

私は同じ問題があります。解決策を見つけられましたか? –

+0

残念ながら実際にはありません。私はAppVeyor特有のソリューションでそれを解決しました。 – NPadrutt

+0

私はちょうど - - no-buildを使用しました。アプリはVSで以前に結ばれています。だから私はここでそれを再構築する必要はありません。これは私のためにこの文脈ではうまくいったが、実際には解決策ではない。あなたがもっと知ってくれたら教えてください! – NPadrutt

答えて

0

Visual Studio 2017がプロジェクトをどのように構築しているかを観察することで、問題を回避することができました(ビルドの冗長性を高める)。問題の実際の原因が何であるかはまだ分かりませんが、問題をXamarinチームに報告します。

ステップ1 - 手動で私は

<Import Project="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\Portable\v5.0\Microsoft.Portable.CSharp.targets" /> 
に変更し、次のimport文

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" /> 

を持っていた、私の.csprojファイルではVisual Studioのよう

を同じターゲットファイルを参照

を使用して、Visual Studioがインポートする.targetsファイルと一致させます。

私がこの変更を行った後、Visual Studioが魔法のように参照する標準の名前空間(System、System.Netなど)への参照がなくなったため、ビルドエラーが増えます。 Visual Studioを使用してアセンブリへの参照を追加することもできませんでした。テキストエディタに戻ります。私は手動でビルドエラーが解決されるまで以下の参照を追加しました。

手順2 - 必要なシステムDLLを手動で参照します。

<Reference Include="System"> 
    <HintPath>..\..\..\..\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0\mscorlib.dll</HintPath> 
</Reference> 
<Reference Include="System"> 
    <HintPath>..\..\..\..\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0\System.dll</HintPath> 
</Reference>  
<Reference Include="System.Linq"> 
    <HintPath>..\..\..\..\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0\Facades\system.Linq.dll</HintPath> 
</Reference>  
<Reference Include="System.Net"> 
    <HintPath>..\..\..\..\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Net.dll</HintPath> 
</Reference>   
<Reference Include="System.Net.Http"> 
    <HintPath>..\..\..\..\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Net.Http.dll</HintPath> 
</Reference> 
関連する問題