Visual Studio 2010-Setupprojekte hängen von .NET Framework ab, nachdem Sie .NET Framework 4.5 installiert haben

Dieser Artikel hilft Ihnen bei der Lösung eines Problems, bei dem die Installation von Microsoft .NET 4.5 (möglicherweise über die VS 2012-Installation) dazu führt, dass ein Visual Studio 2010-Setupprojekt von der .NET Framework abhängig ist.

Originalversion des Produkts:   Visual Studio Premium 2010, Visual Studio Professional 2010, Visual Studio Ultimate 2010
Ursprüngliche KB-Nummer:   2735477

Problembeschreibung

Sie verfügen über ein Visual Studio 2010-Projekt, das ein Installationsprogramm für eine systemeigene Visual C++-Anwendung (VC++) erstellt. Die Anwendung erfordert nicht, dass die .NET Framework installiert wird. Nach der Installation von .NET 4.5 (oder Visual Studio 2012, das .NET 4.5 installiert), beobachten Sie, dass Ihr VS 2010-Setupprojekt jetzt von der .NET Framework abhängig ist.

Ursache

Eine verwaltete Assembly wird fälschlicherweise der Liste der Verweise für das systemeigene Projekt hinzugefügt, wodurch das systemeigene Projekt von der .NET Framework abhängig ist.

Lösung

Die AddAdditionalExplicitAssemblyReferences Eigenschaft muss für das VC++ Projekt auf "false" festgelegt werden. Eine direkte Möglichkeit, dies zu erreichen, wäre das Bearbeiten der VCXPROJ-Datei. Stellen Sie vor dem Bearbeiten der VCXPROJ-Datei sicher, dass das Projekt nicht in Visual Studio Instanzen geöffnet ist. Mit einem XML-Code (Extensible Markup Language) oder einem Text-Editor (z. B. dem in Visual Studio) werden Sie feststellen, dass die VCXPROJ-Datei in etwa wie in diesem Beispiel beginnt:

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <ItemGroup Label="ProjectConfigurations">

Vor dem ItemGroup Tag fügen Sie eine PropertyGroup Eigenschaft hinzu, die diese Eigenschaft ändert, sodass in den obigen Zeilen drei Zeilen eingefügt wurden:

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
        <AddAdditionalExplicitAssemblyReferences>false
        </AddAdditionalExplicitAssemblyReferences>
    </PropertyGroup>
    <ItemGroup Label="ProjectConfigurations">

Öffnen Sie außerdem im Setupprojekt den Startbedingungs-Editor, und entfernen Sie die Microsoft .NET-Startbedingung.

Nachdem die Änderungen vorgenommen wurden, müssen Sie das Setupprojekt neu erstellen.

Wenn Sie über mehrere VC++ Projekte verfügen, für die diese Änderung erforderlich wäre, lesen Sie "Gewusst wie: Verwenden desselben Ziels in mehreren Project Dateien".