2015-10-25 6 views
5

में .NET लक्ष्य फ्रेमवर्क संस्करण नहीं बदला जा सकता है जैसा कि शीर्षक कहता है, मैं अपने सी ++ प्रोजेक्ट के लिए .NET लक्ष्य फ्रेमवर्क संस्करण को बदलना चाहता हूं। मैं/clr कमांड के साथ संकलन करने की कोशिश कर रहा हूं जो मुझे लगता है कि इसे सक्षम करना चाहिए? enter image description hereवीएस 2015 सी ++ प्रोजेक्ट

मैं एकता में इस्तेमाल के लिए एक DLL का निर्माण करने की कोशिश कर रहा हूँ और मैं उचित ढांचे का चयन करने में सक्षम होना चाहते:

यहाँ एक स्क्रीनशॉट है।

मैंने .vxproj फ़ाइल में जानकारी बदलने की कोशिश की है, लेकिन मुझे सही टैग नहीं मिल रहा है और जब मैं इसे स्वयं जोड़ता हूं तो यह त्रुटियों को फेंकता है।

संपादित करें:

इस कोड है कि तरीकों कि सी ++ कोड मैंने पहले लिखा है उपयोग करने के लिए सी # में कहा जा सकता है शामिल हैं। मैं केवल CLR कक्षा पुस्तकालय की ज फ़ाइल संपादित (ताकि .cpp फ़ाइल केवल शीर्ष लेख जो ठीक मुझे लगता है कि होना चाहिए शामिल है)

#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

यदि आप ** कमो पर क्लिक करते हैं तो क्या होगा एन भाषा रनटाइम समर्थन ** संवाद में पंक्ति? क्या यह अधिक विकल्प के साथ '...' दिखाता है? –

+0

नहीं। केवल यह: http://i.imgur.com/Clopmy1.jpg – Dries

+0

यह सेटिंग VS2015 में जोड़ा गया था लेकिन लागू नहीं किया गया है। सी ++/सीएलआई परियोजनाओं में बहु-लक्ष्यीकरण के साथ हल करने के लिए कई बहुत ही जटिल समस्याएं हैं। काफी संभावना है कि वे कभी भी संबोधित करेंगे। अपनी परियोजना शुरू करने के लिए Visual C++> CLR नोड से प्रोजेक्ट टेम्पलेट का उपयोग करना वास्तव में सबसे अच्छा है। सभी कॉन्फ़िगरेशन और सेटिंग्स को सही तरीके से प्राप्त करने का सबसे अच्छा तरीका, कम से कम सेटिंग आपको आपके द्वारा चुने गए संस्करण संख्या दिखाएगी। –

उत्तर

4

आप https://msdn.microsoft.com/en-us/library/ff770576.aspx

पर गाइड का पालन करने में सक्षम होना चाहिए

सीई ++ में लक्षित .NET फ्रेमवर्क आपके द्वारा चुने गए टूलसेट पर निर्भर है। आपको केवल वीएस के पुराने संस्करण को डाउनलोड करना आसान हो सकता है जो उस फ्रेमवर्क का समर्थन करता है जिसके साथ आप काम करना चाहते हैं।

प्रोजेक्ट फ़ाइल में मैं सिर्फ अनुभाग बनाया नीचे दिखाई देता है:

<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

मुझे vcxproj फ़ाइल में उस प्रविष्टि को नहीं लग रहा है। – Dries

+0

शायद आपके अन्य प्रयासों के दौरान हटा दिया गया है? एक नई परियोजना बनाने की कोशिश कर सकते हैं और इसे वहां कॉपी कर सकते हैं। एक में मैंने अभी बनाया है जैसा कि मैंने अभी जवाब में संपादित किया है। –

+0

क्या आपने सी ++ डीएलएल प्रोजेक्ट बनाया था?मैंने इस तरह बनाई गई एक नई परियोजना के साथ प्रयास किया: नई परियोजना -> Win32 कंसोल एप्लिकेशन -> (विकल्प) खाली परियोजना, डीएलएल, अनचेक प्रीकंपिल्ड हेडर। इस तरह, vcxproj फ़ाइल – Dries

2

VS2015 का उपयोग करना, मैं 3.5 से 4.5.1 के लिए एक प्रबंधित सी ++ DLL का नेट लक्ष्य को उन्नत करने के लिए किया था। कॉन्फ़िगरेशन गुण-सामान्य सेटिंग्स में, "नेट लक्ष्य फ्रेमवर्क संस्करण" गहरा हुआ है और इसका मान बॉक्स संपादन योग्य नहीं है।

  1. नोटपैड में Name.vcxproj फ़ाइल खोलें।
  2. नेविगेट करने के लिए: "<" PropertyGroup लेबल = "वैश्विक" ""
  3. जोड़ें: "<" TargetFrameworkVersion "" v4.5.1 "<"/TargetFrameworkVersion "
  4. सहेजें अद्यतन प्रोजेक्ट फ़ाइल, और VSS2015 में फिर से लोड ।

नोट:।।। "" को निकालें कोण कोष्ठक के आसपास फिर जब परियोजना VS2015 में पुनः लोड है, तो आप सेटिंग में सूचीबद्ध नेट संस्करण देख सकते हैं मेरे मामले में यह V4.5.1 था

संबंधित मुद्दे