2010-06-08 13 views
36

मेरे MSBuild कमांड लाइन इस प्रकार है:MSBuild कमांड लाइन त्रुटि - सिल्वरलाइट 4 एसडीके स्थापित नहीं है

msbuild e:\code\myProject.csproj /p:Configuration=Debug /p:OutputPath=bin/Debug /p:Platform=x86 /p:PlatformTarget=x86

परियोजना VS2010 में मेरा विकास मशीन पर ठीक बनाता है लेकिन उपरोक्त आदेश के साथ नहीं। मैं विन 7 64 - बिट चला रहा हूँ। मुझे एक त्रुटि मिल रही है जो कहती है कि मेरे पास सिल्वरलाइट 4 एसडीके स्थापित नहीं है लेकिन मैं करता हूं। मैं "आप मंच = 86 लेकिन कोई लाभ नहीं हुआ सेट करने के लिए है कि कुछ पोस्ट पढ़ लिया है यहाँ पूर्ण में त्रुटि संदेश है:।

 
Microsoft (R) Build Engine Version 4.0.30319.1 
[Microsoft .NET Framework, Version 4.0.30319.1] 
Copyright (C) Microsoft Corporation 2007. All rights reserved. 

Build started 6/8/2010 4:03:38 PM. 
Project "E:\code\dashboards\MyProject2010\MyProject2010.Web\MyProject2010 
.web.csproj" on node 1 (default targets). 
GenerateTargetFrameworkMonikerAttribute: 
Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output fi 
les are up-to-date with respect to the input files. 
CoreCompile: 
Skipping target "CoreCompile" because all output files are up-to-date with resp 
ect to the input files. 
CopyFilesToOutputDirectory: 
    Copying file from "obj\Debug\MyProject.Web.dll" to "bin\Debug\MyProject.Web 
    .dll". 
    MyProject2010.web -> E:\code\dashboards\MyProject2010\MyProject2010.Web 
    \bin\Debug\MyProject.Web.dll 
    Copying file from "obj\Debug\MyProject.Web.pdb" to "bin\Debug\MyProject.Web 
    .pdb". 
Project "E:\code\dashboards\MyProject2010\MyProject2010.Web\MyProject2010 
.web.csproj" (1) is building "E:\code\dashboards\MyProject2010\MyProject20 
10.Client\MyProject2010.Client.csproj" (2) on node 1 (GetXapOutputFile target(
s)). 
C:\Program Files (x86)\MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Silverlight 
.Common.targets(104,9): error : The Silverlight 4 SDK is not installed. [E:\cod 
e\dashboards\MyProject2010\MyProject2010.Client\MyProject2010.Client.cspr 
oj] 
Done Building Project "E:\code\dashboards\MyProject2010\MyProject2010.Clie 
nt\MyProject2010.Client.csproj" (GetXapOutputFile target(s)) -- FAILED. 

Done Building Project "E:\code\dashboards\MyProject2010\MyProject2010.Web\ 
MyProject2010.web.csproj" (default targets) -- FAILED. 


Build FAILED. 

"E:\code\dashboards\MyProject2010\MyProject2010.Web\MyProject2010.web.csp 
roj" (default target) (1) -> 
"E:\code\dashboards\MyProject2010\MyProject2010.Client\MyProject2010.Clie 
nt.csproj" (GetXapOutputFile target) (2) -> 
(GetFrameworkPaths target) -> 
    C:\Program Files (x86)\MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Silverlig 
ht.Common.targets(104,9): error : The Silverlight 4 SDK is not installed. [E:\c 
ode\dashboards\MyProject2010\MyProject2010.Client\MyProject2010.Client.cs 
proj] 

    0 Warning(s) 
    1 Error(s) 

Time Elapsed 00:00:00.39 

मैं किसी की मदद की सराहना करते हैं धन्यवाद

+1

तो क्या आपने सिल्वरलाइट 4 एसडीके स्थापित किया था? – leppie

+0

हां, यह मेरी विकास मशीन है। मेरे पास 2010 के लिए विजुअल स्टूडियो 2010 और सिल्वरलाइट टूल्स हैं जिनमें एसडीके शामिल है। मैं इस निर्देशिका में एसडीके फाइलों को भी देखता हूं: सी: \ प्रोग्राम फ़ाइलें (x86) \ माइक्रोसॉफ्ट एसडीके \ सिल्वरलाइट \ v4.0। – Ned

+3

मैं c: \ Windows \ Microsoft.NET \ Framework64 की बजाय c: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 निर्देशिका से MSBuild चलाकर मेरी Win7 64-बिट विकास मशीन पर सफल निर्माण प्राप्त करने में सक्षम था। \ v4.0.30319। हालांकि, मुझे अभी भी मेरे बिल्ड सर्वर पर एक ही त्रुटि मिल रही है जो कि Windows Server 2008 64 बिट इस निर्देशिका से MSBuild चल रहा है। – Ned

उत्तर

2

मैं इस समस्या थी।। विंडोज 7 फोन एसडीके स्थापित करने की कोशिश करते समय विंडोज 7 परम 64 बिट संस्करण। एसडीके/टूलकिट इंस्टॉल/मरम्मत का कोई संयोजन मेरे लिए काम नहीं कर रहा था इसलिए मैंने थोड़ा और जांच करने का फैसला किया।

<Message /> मेरे Microsoft.Silverlight.Common.targets फ़ाइल में कार्य बनाएं, मैंने पाया कि मेरे पास सॉफ़्टवेयर \ Microsoft \ Silverl पर कोई रजिस्ट्री प्रविष्टि नहीं है ight \ 4.0। यह 32-बिट खंड और Wow6432Node अनुभाग दोनों के लिए सच था।

तो, कुछ निर्माण लक्ष्यों के आउटपुट जो ढांचे को संग्रहीत करते हैं, वहां रिक्त स्थान लौट रहे थे, बाद में लाइन के नीचे कई अन्य लक्ष्यों को विफल कर रहे थे। विशेष रूप से, _FullFrameworkReferenceAssemblyPaths और TargetFrameworkDirectory गुण ठीक से सेट नहीं किए जा रहे थे।

हालांकि पूरी तरह से सभी सिफारिशों के लिए अभिशाप है, मैं मैन्युअल .targets फाइल में मूल्यों हार्डकोड, इस प्रकार की तरह से समस्या उन्हें धोखा दिया:

<PropertyGroup> 
    <_FullFrameworkReferenceAssemblyPaths>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0</_FullFrameworkReferenceAssemblyPaths> 
    <TargetFrameworkDirectory>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone</TargetFrameworkDirectory> 
</PropertyGroup> 

कुछ नहीं मैं विशेष रूप से गर्व है, लेकिन जरूरत है अगर मैं चाहिए मैं विकास के साथ कोई प्रगति करने जा रहा हूं। मैं उम्मीद करता हूं कि इससे किसी की मदद होगी।

+0

मैं अपने हडसन आधारित निरंतर एकीकरण सर्वर पर एक नई परियोजना को कॉन्फ़िगर कर रहा हूं। इस परियोजना में सिल्वरलाइट 4 एसडीके की निर्भरता है और मैं भी इस त्रुटि में भाग गया। हम बिना किसी संघर्ष के निर्भरताओं के कई संस्करणों को अनुमति देने के लिए स्रोत नियंत्रण में जांच की गई सभी निर्भरताओं के साथ स्वयं को निहित रखना चाहते हैं। बिल्ड सर्वर पर चीजों को स्थापित करना बुरा अभ्यास है। सिल्वरलाइट एसडीके के साथ समस्या का निदान करने में आपका जांच कार्य उपयोगी था। –

+2

अच्छा होगा अगर (ए) आपने रजिस्ट्री में ठीक से संकेत दिया है कि गायब कुंजी होनी चाहिए, (बी) जहां माइक्रोसॉफ्ट। सिल्वरलाइट.कॉमोन.targets फ़ाइल में आपने पथ को बल देने के लिए जोड़ा था। –

23

मैं इस पता लगा - सेट यह x86 करने के लिए और सब कुछ काम करेंगे - MSBuild में एक सेटिंग है, जहां आप (एक ही पृष्ठ है जहाँ आप MSBuild निशानी नहीं लगाई में) MSBuild के लिए 64 या 86 वातावरण है।

+0

यह काम करता है, लेकिन मुझे सिल्वरलाइट 4 एसडीके को अनइंस्टॉल और पुनर्स्थापित करना पड़ा। अधिक निराश। – thomasnguyencom

4

प्रारंभ पोस्ट कहता है कि आपको X86 पर लक्ष्य प्लेटफ़ॉर्म सेट करना होगा, लेकिन यह बिल्ड सर्वर के लिए समाधान नहीं है।

अपनी बिल्ड कॉन्फ़िगरेशन फ़ाइल में MSBuild प्लेटफ़ॉर्म को X86 पर सेट करने का विकल्प है। आप इस सेटिंग को इसके माध्यम से ढूंढ सकते हैं: प्रक्रिया -> 3. उन्नत -> एमएसबिल्ड प्लेटफ़ॉर्म (ऑटो पर डिफ़ॉल्ट सेट)

अंडरलेइंग समस्या यह है कि सिल्वरलाइट 64 बिट का समर्थन नहीं करता है।http://social.msdn.microsoft.com/Forums/en/msbuild/thread/20a742a1-b99c-4638-8590-9a9d6a95fb69

20

मैं का सामना करना पड़ा जब एक ही समस्या चल रहा है:

मैं इस समाधान है, जो मेरे लिए काम करता है, पर पाया C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe

सीधे शब्दों में चलाएँ:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe

+0

इसने मेरी समस्या को भी हल किया। धन्यवाद –

21

आप आ चुके हैं तो यहां के साथ किसी समस्या के कारण उपर्युक्त त्रुटि उत्पन्न होती है (भले ही आपने सिल्वरलाइट 4 एसडीके स्थापित किया हो), फिर उसी फिक्स को प्राप्त करने के लिए आपको अपनी बिल्ड प्रक्रिया टेम्पलेट को संपादित करना होगा:

"प्रक्रिया" टैब पर जाएं, "3. उन्नत" अनुभाग का विस्तार करें और नीचे सेटिंग ("एमएसबिल्ड प्लेटफ़ॉर्म") से दूसरे का पता लगाएं और इसे X86 पर सेट करें जो तब बिल्ड एजेंट को x86 का उपयोग करने के लिए निर्देश देगा एमएसबिल्ड का संस्करण।

इससे ऊपर पॉल पॉल्स के उत्तर के साथ मेरी समस्या हल हो गई।

+1

मुझे टीएफएस के साथ यह समस्या थी और यह इसे ठीक कर दिया! धन्यवाद – gigi

+1

यह स्वीकार्य उत्तर होना चाहिए – Jupaol

+0

tfs2012 –

0

यदि X86 पर निर्माण करना और सिल्वरलाइट एसडीके 4 को पुनर्स्थापित करना सहायक नहीं था: यदि आप बिल्ड सर्वर पर VS2013 का उपयोग कर रहे हैं, तो जांचें कि क्या Windows Phone SDK स्थापित है या नहीं। मुझे वीएस2013 इंस्टॉलर चलाने के लिए जाना था, चेंज बटन पर क्लिक करें और विंडोज फोन एसडीके इंस्टॉल करें।

या विंडोज फोन समाधान बनाने में सक्षम होने के लिए विंडोज फोन एसडीके स्थापित करने का प्रयास करें।

0

मुझे टीमसिटी का उपयोग करके यही समस्या मिली। मेरा निर्माण चरण एक एमएसबिल्ड एक्शन था जो x64 पर सेट किया गया था। एक बार मैंने इसे x86 में बदल दिया, यह काम किया। :)

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