今日から、20のプロジェクトを持つソリューションに属するWPFプロジェクトは、すべての参照を欠落に設定します
StackoverflowのMSの提案と他の回答を確認しましたが、何も機能しませんでした... SVNからソリューションを再取得しようとしましたが、運が悪かったので、他の同僚はこの問題を抱えていませんでした。また、参照(System.Xmlなど)を削除して再追加しようとしました。しかし、それを機能させる方法はありません...
なにか提案を?ありがとう
これがcsprojです
<ItemGroup>
<Reference Include="Catel.Core, Version=4.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Catel.Core.4.2.0\lib\net40\Catel.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Catel.Extensions.Controls, Version=4.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Catel.Extensions.Controls.4.2.0\lib\net40\Catel.Extensions.Controls.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Catel.Extensions.FluentValidation, Version=4.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Catel.Extensions.FluentValidation.4.2.0\lib\net40\Catel.Extensions.FluentValidation.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Catel.Fody.Attributes, Version=2.8.0.0, Culture=neutral, PublicKeyToken=1c8163524cbe02e6, processorArchitecture=MSIL">
<HintPath>..\packages\Catel.Fody.2.8.0\lib\portable-net4+sl4+wp7+win8+wpa81+MonoAndroid14+MonoTouch40\Catel.Fody.Attributes.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Catel.MVVM, Version=4.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Catel.MVVM.4.2.0\lib\net40\Catel.MVVM.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="MethodTimer, Version=1.15.7.0, Culture=neutral, PublicKeyToken=cb1364609f40a1dc, processorArchitecture=MSIL">
<HintPath>..\packages\MethodTimer.Fody.1.15.7.0\Lib\portable-net4+sl5+wp8+win8+wpa81+MonoAndroid16+MonoTouch40\MethodTimer.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Threading.Tasks.Extensions, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop, Version=1.0.168.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="ServiceStack">
<HintPath>..\packages\ServiceStack.4.0.46\lib\net40\ServiceStack.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ServiceStack.Client, Version=4.0.46.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ServiceStack.Client.4.0.46\lib\net40\ServiceStack.Client.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ServiceStack.Common">
<HintPath>..\packages\ServiceStack.Common.4.0.46\lib\net40\ServiceStack.Common.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ServiceStack.Interfaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=e06fbc6124f57c43, processorArchitecture=MSIL">
<HintPath>..\packages\ServiceStack.Interfaces.4.0.46\lib\portable-wp80+sl5+net40+win8+monotouch+monoandroid+xamarin.ios10\ServiceStack.Interfaces.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ServiceStack.Text, Version=4.0.46.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ServiceStack.Text.4.0.46\lib\net40\ServiceStack.Text.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.IO, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.IO.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Management" />
<Reference Include="System.Net" />
<Reference Include="System.Runtime, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Runtime.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Threading.Tasks, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Threading.Tasks.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Windows.Interactivity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Catel.MVVM.4.2.0\lib\net40\System.Windows.Interactivity.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Xaml" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="Telerik.Windows.Controls, Version=2015.2.728.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
<HintPath>..\packages\Telerik.Windows.Controls.for.Wpf.40.Xaml.2015.2.728\lib\net40\Telerik.Windows.Controls.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Telerik.Windows.Controls.GridView, Version=2015.2.728.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
<HintPath>..\packages\Telerik.Windows.Controls.GridView.for.Wpf.40.Xaml.2015.2.728\lib\net40\Telerik.Windows.Controls.GridView.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Telerik.Windows.Controls.Input, Version=2015.2.728.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
<HintPath>..\packages\Telerik.Windows.Controls.Input.for.Wpf.40.Xaml.2015.2.728\lib\net40\Telerik.Windows.Controls.Input.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Telerik.Windows.Controls.Navigation, Version=2015.2.728.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
<HintPath>..\packages\Telerik.Windows.Controls.Navigation.for.Wpf.40.Xaml.2015.2.728\lib\net40\Telerik.Windows.Controls.Navigation.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Telerik.Windows.Data, Version=2015.2.728.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
<HintPath>..\packages\Telerik.Windows.Data.for.Wpf.40.Xaml.2015.2.728\lib\net40\Telerik.Windows.Data.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="UIAutomationProvider" />
<Reference Include="UIAutomationTypes" />
<Reference Include="WindowsBase" />
はい、Nugetを使用します。他の19ポイントは同じアセンブリを指します...何も移動されていません
先に進むことができなかったので、同僚からプロジェクトをコピーしましたが、現在は機能しています....ファイルシステムで何かがうまくいかなかったと思います...ソリューションを比較したところ、同じでした
この問題の解決策は次のとおりです。
プロジェクトをVS 2015にインポートするたびに、.csprojが変更されます。だから、それを修正するために。 .csprojを右クリックしてメモ帳または任意のエディターで開き、以下を削除します
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.Microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>
次に、ソリューションをビルドすると、動作するはずです。
ソリューションのルートディレクトリで、/packages/
フォルダー内のすべてを削除してから、再ビルドを実行します。
Nugetパッケージを強制的に再構築するのに役立ちます。 Nugetコンソールに移動し、次のコマンドを使用します(TOOLS> Options> Package Manager> Package Manager Conbsole)
Update-Package -reinstall -ProjectName "MyProject" -safe
Safeパラメーターは実際にはパッケージを更新せず、それらを再インストールするだけです。それでも解決しない場合は、実際に更新してみてください(ただし、万が一に備えて、プロジェクトのコピーがあることを確認してください)。
Update-Package -reinstall -ProjectName "MyProject"
1つのパッケージのみを強制的に更新するには、次を使用します。
Update-Package -id Microsoft.Package.Name -ProjectName "MyProject"
壊れた.targetsインポートが原因で、これは一度ありました。誤ってnugetパッケージの復元(.targetsファイルを含む)を有効にしてから、.nugetディレクトリを削除したかどうかを確認してください。
同様の問題がありました。私のために働いた解決策は、ソリューションのnugetパッケージマネージャをポップし、パッケージを更新することでした。
別のケースでは、不足しているパッケージが含まれ、ソリューションのNugetパッケージマネージャーは更新プログラムと依存関係を示していました。これらはインストールする必要があり、これが修正でした。
別のケースは上記のとおりでした-パッケージフォルダーを削除すると修正されました。
プロジェクトを手動で編集することはオプションですが、想定されていない場所を突くと、プロジェクトが開かない可能性があります。可能であれば、それを避けることは私の意見です。
また、VS2015では、約10のプロジェクトを含むソリューションでこれを正確に経験しました。 1つのプロジェクト(メインMVCプロジェクト)のみが影響を受け、標準の.NETアセンブリを含むすべての参照が失われました。
問題は私のweb.configにありました。いくつかの行をコメントしていたため、xmlファイルが無効になりました。
私はちょうどVS2015で約20のプロジェクトを含むソリューションでまさにこれを経験しました。 1つのプロジェクトのみが影響を受け、標準の.NETアセンブリを含むすべての参照が失われました。
私が解決できた唯一の方法は、別のGITブランチに切り替えてから戻ることでした。これにより、問題がクリーンアップされ、すべて正常に動作するようになりました。
このエラーは、nuget packages
フォルダ内の.targets
ファイルを見逃した場合に発生する可能性があります。私の場合、それはpackages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets
でした
通常、gitリポジトリにパッケージを追加するときに発生し(一般的な.gitignore
ファイルはどこでもビルドフォルダーを無視します)、別のコンピューターでチェックアウトします。
ヒント:.gitignore
ファイルを変更して、packages
フォルダー内のすべてのファイルを含めることができます。これらの行を最後に追加します。
# Include all files in NuGet packages directory
!/packages/**/
プロジェクトをアンロードしてから、プロジェクトを編集します
以下を探して削除してください。
このプロジェクトは、このコンピューターにないNuGetパッケージを参照します。 NuGet Package Restoreを有効にしてダウンロードします。詳細については、 http://go.Microsoft.com/fwlink/?LinkID=322105 を参照してください。欠落しているファイルは{0}です。