2011-04-06 8 views
18

अभिव्यक्ति ब्लेंड 4 में है, संयोजित करते समय मैंनिर्दिष्ट समाधान विन्यास "डीबग | BNB" अवैध

कह निर्दिष्ट समाधान विन्यास कोई त्रुटि मिलती है "डीबग | BNB" अमान्य है। कृपया कॉन्फ़िगरेशन और प्लेटफ़ॉर्म गुणों का उपयोग करके एक वैध समाधान कॉन्फ़िगरेशन निर्दिष्ट करें (उदा। MSBuild.exe Solution.sln/p: कॉन्फ़िगरेशन = डीबग/पी: प्लेटफ़ॉर्म = "कोई भी CPU") या डिफ़ॉल्ट गुण कॉन्फ़िगरेशन का उपयोग करने के लिए उन गुणों को रिक्त छोड़ दें।
पूर्ण निर्माण परियोजना "myproject.sln" - विफल।
बिल्ड विफल रहा।

+0

मुझे एक ही समस्या थी लेकिन PowerShell में स्वचालित निर्माण के साथ। पर्यावरण चर को हटाने के लिए मेरे लिए काम किया! –

उत्तर

35

पृष्ठभूमि: निर्माण समय संकलक (अभिव्यक्ति ब्लेंड या दृश्य स्टूडियो से शुरू कर दिया है, तो कोई बात नहीं है) को पता है कि अपने कोड का लक्ष्य मंच, आदि X86 की तरह प्रणाली वास्तुकला, 64 बिट

यानी

समस्या अब यह है कि "प्लेटफॉर्म" नामक एक पर्यावरण चर की एक प्रणाली की विस्तृत सेटिंग, अभिव्यक्ति मिश्रण को लक्षित प्लेटफार्म के रूप में भी उपयोग करने की किसी भी सेटिंग को ओवरराइड करना प्रतीत होता है।

मुझे अन्य वेबसाइटों पर कुछ कामकाज मिलते हैं और यहां संभावित समाधान प्रदान करेंगे। कोशिश कर रहा है दो सुझावों में से एक मदद करनी चाहिए:

  • "नियंत्रण कक्ष - सिस्टम - उन्नत - पर्यावरण चर" में परस्पर विरोधी वातावरण चर "प्लेटफ़ॉर्म" को हटा दें। मिश्रण को पुनरारंभ करें और इसे आज़माएं (शायद आपको यह काम करने के लिए अपने कंप्यूटर को पुनरारंभ करना होगा)।
  • यदि यह मदद नहीं करता है: रजिस्ट्री संपादक (स्टार्ट - रन - "Regedit.exe") के साथ कुंजी HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ सत्र प्रबंधक \ पर्यावरण पर जाएं और कुंजी प्लेटफ़ॉर्म का चयन करें। मूल्य बीएनबी हटाएं। यदि आपको निर्दिष्ट कुंजी नहीं मिलती है, तो "कंट्रोलसेट 00" के साथ "CurrentControlSet" को पुनर्स्थापित करने का प्रयास करें, यह एक मामले में भी काम करता है। फिर अपने कंप्यूटर को पुनरारंभ करें।

कृपया एक टिप्पणी दें जो समाधानों का काम करता है।

+1

मैं स्कॉट हैंनसेलमैन के एमएसबिल्ड ट्यूटोरियल (http://www.hanselman.com/blog/HackParallelMSBuildsFromWithinTheVisualStudioIDE.aspx) का पालन कर रहा था और मुझे एक ही त्रुटि संदेश मिला। पर्यावरण चर (और रीबूटिंग) को हटाने से यह मेरे लिए तय हो गया। –

+6

"प्लेटफार्म" पर्यावरण वैरिएबल को हटाने और फिर रीबूट करने के लिए समस्या हल हो गई। स्पष्ट रूप से चर एचपी आसान सेटअप द्वारा "बीएनबी" पर सेट है http://stackoverflow.com/questions/2507856/why-is-my-platform-environment-variable-defined-as-bnb – theisenp

+0

आपको धन्यवाद !! यह मुझे पागल कर रहा था, मेरे पास कुछ विरासत कोड था जो कमांड लाइन टूल्स के साथ बनाया जा रहा था और मेरे एचपी लैपटॉप में रजिस्ट्री सेटिंग है। इसे हटाने और रीबूट करने से मेरी समस्या हल हो गई। मैं एक बहुत अस्पष्ट त्रुटि को ठीक करने में सक्षम था। – Justin

4

मैंने अभी पर्यावरण चर से प्लेटफार्म हटा दिया और यह काम किया।

+0

इसके बाद कमांड प्रॉम्प्ट पुनरारंभ की आवश्यकता है - बस आपको पता चलेगा – erem

0

माइक्रोसॉफ्ट विजुअल स्टूडियो के साथ निम्नलिखित समाधान को आपके कंप्यूटर को पुनरारंभ किए बिना काम करना चाहिए। कमांड लाइन (विंडोज कुंजी + आर, प्रकार cmd, मारा दर्ज) चलाने के लिए और अपनी परियोजना के लिए संबंधित आदेशों टाइप करें:

MSVC 2013: SET MSBUILD="C:\Program Files Path\MSBuild\12.0\Bin\msbuild.exe"

MSVC 2015: SET MSBUILD="C:\Program Files Path\MSBuild\14.0\Bin\msbuild.exe"

SET SOLUTION="your solution name.sln" 
SET PROJECT="your target project name" 
SET MS_PLAT="target platform" 
; this could be x64 for 64 bit applications or Win32 for 32 bit applications 
%MSBUILD% %SOLUTION% /t:%PROJECT% /p:Platform=%MS_PLAT% 
मेरे लिए

, प्लेटफार्म = जैविक हथियारों। प्लेटफार्म को संशोधित या हटाने के बिना उपर्युक्त स्क्रिप्ट को चलाने के बाद, मेरी परियोजनाओं के लिए स्थायी रूप से समस्या को ठीक कर दिया गया।

0

अभी भी उदाहरण

msbuild testproject.sln /p:Configuration=Debug /p:Platform="Any CPU" 

यह मेरे लिए काम करता लिए विन्यास और मंच

निर्दिष्ट करने के लिए कोशिश काम नहीं है।

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