मैं नियमित PowerShell कंसोल से रेक के माध्यम से msbuild.exe
चला रहा हूं। 'डी: /Projects/machine.specifications/Source/Machine: यह आदेश एक नैदानिक स्तर रन से मुद्रित रूप मेंMSBuild x64 प्लेटफॉर्म का चयन क्यों करता है जब मैं इसे किसी भीCPC के बजाय निर्दिष्ट नहीं करता हूं?
"\ Windows \ Microsoft.NET \ फ्रेमवर्क \ v4.0.30319 \ MSBuild.exe सी' है .Specifications/Machine.Specifications.csproj31881140 "/ maxcpucount/लक्ष्य: निर्माण/शब्दाडंबर: नैदानिक / संपत्ति: विन्यास = डिबग/संपत्ति: TrackFileAccess = false/संपत्ति: BuildInParallel = false/संपत्ति: BuildRunner = रेक
और बिल्ड विफल हो रहा है क्योंकि msbuild x64
को Platform
के रूप में चुन रहा है।
C: \ Windows \ Microsoft.NET \ फ्रेमवर्क \ v4.0.30319 \ Microsoft.Common.targets (483,9): त्रुटि: OutputPath संपत्ति परियोजना 'Machine.Specifications.csproj37103470' के लिए सेट नहीं है। कृपया यह सुनिश्चित करने के लिए जांचें कि आपने इस प्रोजेक्ट के लिए कॉन्फ़िगरेशन और प्लेटफ़ॉर्म का मान्य संयोजन निर्दिष्ट किया है। कॉन्फ़िगरेशन = 'डीबग' प्लेटफ़ॉर्म = 'एक्स 64'। आप यह संदेश देख रहे हैं क्योंकि आप एक समाधान फ़ाइल के बिना एक परियोजना बनाने की कोशिश कर रहे हैं, और इस परियोजना के लिए मौजूद एक गैर-डिफ़ॉल्ट कॉन्फ़िगरेशन या प्लेटफ़ॉर्म निर्दिष्ट नहीं किया है।
मैं इसे कमांड लाइन (या स्क्रिप्ट से) में पास नहीं कर रहा हूं। csproj
डिफॉल्ट विन्यास
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
और दो विशिष्ट विन्यास
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
तो है, मैं AnyCPU
मंच चयनित किए जाने की संभावना। लेकिन, किसी कारण से, x64
में कुछ चुनना या भेजना है। मुझे नहीं लगता कि रेक सिस्टम यहां एक समस्या है, मैंने एमएसबिल्ड को कच्चे सीएमडी लाइन कॉल पर पहले यह व्यवहार देखा है (लेकिन मैंने उन्हें दस्तावेज नहीं किया है)।
मैं 64-बिट विंडोज 7 पर हूं, एमएसबिल्ड 4.0 को कॉल कर रहा हूं। मुझे नहीं पता कि यह प्रासंगिक है या नहीं।
मैं loading 64-बिट दृश्य स्टूडियो उपकरण (C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64
) मेरी PowerShell प्रोफ़ाइल में Invoke-BatchFile
का उपयोग कर रहा हूँ। क्या वह अपराधी हो सकता है?
एमएसबिल्ड जानबूझकर x64 का चयन क्यों करेगा? 32-बिट संस्करण आपके लिए x86 नहीं चुनता है।
* 1: PowerShell कंसोल %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
पर है * 2: मैं MSpec निर्माण
'MSBuild my.sln/p: कॉन्फ़िगरेशन = रिलीज/पी: प्लेटफ़ॉर्म = कोई भी CPU' एक और तरीका है (पावरहेल प्रॉम्प्ट से) –