2015-10-25 96 views
5

Come dice il titolo, desidero modificare la versione di .NET Target Framework per il mio progetto C++. Sto cercando di compilare il comando/clr che penso dovrebbe abilitarlo?Impossibile modificare la versione di .NET Target Framework in VS 2015 Progetto C++

Ecco uno screenshot: enter image description here

Sto cercando di costruire una DLL per l'uso in unità e voglio essere in grado di selezionare il quadro adeguato.

Ho provato a cambiare le informazioni nel file .vxproj ma non riesco a trovare il tag giusto e quando lo aggiungo getta degli errori.

EDIT:

questo è il codice che contiene i metodi che possono essere chiamati in C# per utilizzare il codice C++ che ho scritto prima. Ho modificato solo il file .h della libreria CLR Class (in modo che il file cpp è compreso solo l'intestazione, che dovrebbe andare bene credo)

#pragma once 
#include "PortAudioManager.h" 

using namespace System; 

namespace PortAudioWrapper { 

public ref class PortAudioManaged 
{ 
private: 
    PortAudioManager* audioManager; 
public: 
    PortAudioManaged() : audioManager(new PortAudioManager()) { 
    } 

    virtual ~PortAudioManaged() { 
     this->!PortAudioManaged(); 
    } 

    // = Object.Finalize 
    !PortAudioManaged() { 
     delete audioManager; 
     audioManager = nullptr; 
    } 

    void openStreamManaged() { 
     audioManager->openStream(); 
    } 

    void stopStreamManaged() { 
     audioManager->stopStream(); 
    } 
}; 
} 
+0

Cosa succede se si fa clic su ** Commo n Language Runtime Support ** riga nella finestra di dialogo? Mostra un '...' con più opzioni? –

+0

No. Solo questo: http://i.imgur.com/Clopmy1.jpg – Dries

+0

Questa impostazione è stata aggiunta in VS2015 ma non è implementata. Ci sono molti problemi molto icky da risolvere con il multi-targeting in progetti C++/CLI. Abbastanza improbabile che vengano mai affrontati. È davvero preferibile utilizzare un modello di progetto dal nodo CLR di Visual C++> per avviare il progetto. Di gran lunga il modo migliore per ottenere tutte le configurazioni e le impostazioni giuste, almeno l'impostazione ti mostrerà il numero di versione che hai scelto. –

risposta

4

Si dovrebbe essere in grado di seguire la guida a https://msdn.microsoft.com/en-us/library/ff770576.aspx

Il framework .NET che è possibile indirizzare in C++ dipende dal set di strumenti scelto. Potresti trovare più facile scaricare semplicemente una versione precedente di VS che supporta il framework con cui stai lavorando.

Nel file di progetto Ho appena creato la sezione si presenta come il qui sotto:

<PropertyGroup Label="Globals"> 
    <ProjectGuid>{48ACEC98-3369-486F-9033-8C433D408570}</ProjectGuid> 
    <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion> 
    <Keyword>ManagedCProj</Keyword> 
    <RootNamespace>ClassLibrary1</RootNamespace> 
    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> 
</PropertyGroup> 
+0

Non riesco a trovare quella voce nel file vcxproj. – Dries

+0

Forse eliminato durante gli altri tentativi? Potrebbe provare a creare un nuovo progetto e copiarlo da lì. In uno che ho fatto solo ora sembra quello che ho appena modificato in risposta. –

+0

Hai creato un progetto DLL C++?Ho provato con un nuovo progetto creato in questo modo: Nuovo progetto -> Applicazione console Win32 -> (opzioni) Progetto vuoto, DLL, intestazioni precompilate deselezionate. In questo modo, non vi è alcun tag per TargetFramework nel file vcxproj – Dries

2

Utilizzando VS2015, ho dovuto aggiornare il bersaglio .Net di una DLL gestita C++ da 3,5 a 4.5.1. Nelle proprietà di configurazione-Impostazioni generali, la "Versione Net Framework di destinazione" è disattivata e la sua casella di valore non è modificabile.

  1. Aprire il file Name.vcxproj nel blocco note.
  2. Passare a: "< "PropertyGroup Label =" Globali" ""
  3. aggiungono: "< "TargetFrameworkVersion"" v4.5.1" < "/ TargetFrameworkVersion"
  4. Salvare il file del progetto aggiornato, e ricaricare in VSS2015 .

NOTA:... Togliere il "" intorno le parentesi angolari Poi, quando il progetto viene ricaricato in VS2015, è possibile vedere la versione .Net elencata nelle impostazioni nel mio caso è stato V4.5.1