Rozwiązywanie problemów z błędami obiektów docelowych programu .NET Framework

W tym temacie MSBuild błędy, które mogą wystąpić z powodu problemów referencyjnych, oraz sposób ich rozwiązywania.

Odwołujesz się do projektu lub zestawu, który jest przeznaczony dla innej wersji .NET Framework

Można tworzyć aplikacje odwołujące się do projektów lub zestawów, które są docelowe dla różnych wersji .NET Framework. Na przykład można utworzyć aplikację, która jest przeznaczony dla profilu klienta dla klienta .NET Framework 4, ale odwołuje się do zestawu, który jest przeznaczony dla .NET Framework 2.0. Jeśli jednak utworzysz projekt przeznaczony dla starszej wersji programu .NET Framework, nie możesz ustawić odwołania w tym projekcie na projekt lub zestaw przeznaczony dla profilu klienta dla samego .NET Framework 4 lub samego zestawu .NET Framework 4. Aby usunąć ten błąd, upewnij się, że aplikacja jest ukierunkowana na profil lub profile zgodne z profilem docelowym projektów lub zestawów, do których odwołuje się aplikacja.

Projekt został ponownie ukierunkowany na inną wersję .NET Framework

Jeśli zmienisz docelową wersję pliku .NET Framework aplikacji, Visual Studio niektóre odwołania, ale może być trzeba ręcznie zaktualizować niektóre odwołania. Na przykład jeden z wymienionych wcześniej błędów może wystąpić, jeśli zmienisz aplikację na docelową dla dodatku Service Pack 1 w programie .NET Framework 3.5, a aplikacja ma zasoby lub ustawienia, które są zależne od profilu klienta dla .NET Framework 4.

Aby omiąć ustawienia aplikacji, otwórz Eksplorator rozwiązań , wybierz pozycję Pokaż wszystkie pliki, a następnie edytuj plikapp.config w edytorze XML Visual Studio. Zmień wersję w ustawieniach, aby dopasować odpowiednią wersję .NET Framework. Na przykład można zmienić ustawienie wersji z 4.0.0.0 na 2.0.0.0. Podobnie w przypadku aplikacji, która dodała zasoby, otwórz plik Eksplorator rozwiązań, wybierz przycisk Pokaż wszystkie pliki, rozwiń pozycję My Project (Visual Basic) lub Properties (C#), a następnie edytuj plik Resources.resx w edytorze XML Visual Studio. Zmień ustawienie wersji z 4.0.0.0 na 2.0.0.0.

Jeśli aplikacja ma zasoby, takie jak ikony, mapy bitowe lub ustawienia, takie jak parametry połączenia danych, możesz również rozwiązać ten błąd, usuwając wszystkie elementy na stronie Ustawienia projektanta programu Project, a następnie ponownie dodając wymagane ustawienia.

Projekt został ponownie skierowany do innej wersji pliku, a odwołania .NET Framework nie zostały rozwiązane

Jeśli przekierowywano projekt do innej wersji .NET Framework, w niektórych przypadkach odwołania mogą nie zostać prawidłowo rozwiązane. Jawne w pełni kwalifikowane odwołania do zestawów często powodują ten problem, ale można go rozwiązać, usuwając odwołania, które nie zostały rozwiązane, a następnie dodając je z powrotem do projektu. Alternatywnie możesz edytować plik projektu, aby zastąpić odwołania. Najpierw należy usunąć odwołania do następującego formularza:

<Reference Include="System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />

Następnie zastąp je prostym formularzem:

<Reference Include="System.ServiceModel" />

Uwaga

Po zamknięciu i ponownym otwarciu projektu należy go ponownie skompilować, aby upewnić się, że wszystkie odwołania są poprawnie rozwiązywane.

Zobacz też