2013-04-17 5 views
17

नहीं मिला है मैंने अभी विजुअल स्टूडियो 2012 के लिए अद्यतन 2 स्थापित किया है, जो एक नया प्रकाशित संवाद प्रस्तुत करता है। मैं इसे क्या यह (प्रकाशन से पहले एक वेबसाइट precompile) करते थे ऐसा करने के लिए कोशिश कर रहा हूँ, और मैं त्रुटि में चल रहा हूँ कि यहवीएस 2012 प्रकाशित: मान्य AspnetMergePath

"Can't find the valid AspnetMergePath" 

जो फ़ाइल Microsoft.Web.Publishing से फेंक दिया है। AspNetCompileMerge.targets। मैंने पुष्टि की है कि फ़ाइल aspnet_merge.exe अपने कंप्यूटर पर कई स्थानों में मौजूद है, लेकिन

$(GetAspNetMergePath) 

किसी कारण से एक रिक्त स्ट्रिंग पर मूल्यांकन कर रही है। मुझे कुछ कॉन्फ़िगरेशन सेटिंग याद आ रही है, लेकिन मैंने पहले कभी उनसे गड़बड़ नहीं की है, इसलिए मैं उलझन में हूं कि यह अचानक क्यों शुरू होगा।

क्या कोई इसे हल करने के बारे में सलाह दे सकता है? मैंने इस त्रुटि पर मानक Google खोज कर ली है और कुछ भी मुझे सही समाधान के लिए प्रेरित नहीं किया है।

+0

दृश्य वेब डेवलपर प्रकाशित पर "वैध AspnetMergePath" नहीं मिल सकता है?] (Http://stackoverflow.com/questions/12713714/cant-find-the-valid-aspnetmergepath-on-visual- वेब-डेवलपर-प्रकाशित) –

उत्तर

18

मैंने एक ही समस्या को मारा। सभी माइक्रोसॉफ्ट से संबंधित साइटों के माध्यम से खोजे गए, माइक्रोसॉफ्ट से इसे ठीक करने के लिए बहुत सारी शिकायतें और कोई मंशा नहीं मिली।

यहां मैंने अपने सिस्टम में इसे कैसे काम किया। Microsoft.Web.Publishing.AspNetConfigurationMerge.targets फ़ाइल संपादित करें और निम्न पंक्ति जोड़ें। यह देखना चाहिए कि कैसे की तरह

<TargetFrameworkSDKToolsDirectory>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\</TargetFrameworkSDKToolsDirectory> 

यहाँ:

<Target 
    Name="GetAspNetMergePath" 
    DependsOnTargets="$(GetAspNetMergePathDependsOn)" 
    Condition ="'$(GetAspNetMergePath)' != 'false'"> 
<PropertyGroup> 
    <TargetFrameworkSDKToolsDirectory>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\</TargetFrameworkSDKToolsDirectory> 
    <AspnetMergeName>aspnet_merge.exe</AspnetMergeName> 
    <AspnetMergePath Condition="Exists('$(TargetFrameworkSDKToolsDirectory)$(AspnetMergeName)')">$(TargetFrameworkSDKToolsDirectory)</AspnetMergePath> 
</PropertyGroup> 
<Error Condition="'$(AspnetMergePath)' == '' Or !Exists($(AspnetMergePath))" 
     Text="Can't find the valid AspnetMergePath" /> 

+0

मेरी मदद करने के लिए धन्यवाद! यह पूरी तरह से काम किया। – adsilb

6

यहाँ एक समाधान है कृपया सुनिश्चित करें कि माइक्रोसॉफ्ट एसडीके पथ अपने पीसी पर एक ही है, अगर नहीं तो इसे बदल कि लक्ष्य फ़ाइल को बदलने की आवश्यकता नहीं है। http://connect.microsoft.com/VisualStudio/feedback/details/786492/publish-cant-find-the-valid-aspnetmergepath से कामकाज एमएसबिल्ड को अतिरिक्त उचितताएं पारित करने का सुझाव देता है।

MSBuild website.publishproj/p: DeployOnBuild = सच/p: PublishProfile = रिलीज /p:VisualStudioVersion=12.0/p: AspnetMergePath = "C: \ Program Files मैं इस का उपयोग कर काम करने के लिए इसे पाने के लिए कर रहा था (x86) \ माइक्रोसॉफ्ट SDKs \ Windows \ v8.1A \ बिन \ NETFX 4.5.1 उपकरण \ "

कुंजी यहाँ AspnetMergePath संपत्ति है, जो आप अगर विंडोज एसडीके एक में स्थापित किया गया है बदलना पड़ सकता है है अलग स्थान यदि मैं वर्कअराउंड से GetAspNetMergePath संपत्ति शामिल करता हूं तो यह विफल हो जाता है, लेकिन एसडीके संस्करण के आधार पर इसकी आवश्यकता हो सकती है।

17

msbuild कमांड लाइन का उपयोग करते समय आज भी यही समस्या थी। ठीक सी में MSBuild.exe उपयोग करने के लिए है: \ Program Files (x86) \ MSBuild \ 12.0 \ बिन
और नहीं सी से: \ Windows \ Microsoft.NET \ फ्रेमवर्क \ v4.0.30319

मुद्दा है इस तथ्य के कारण कि नया एमएसबिल्ड अब part of visual studio 2013 है और नहीं। नेट फ्रेमवर्क अब और नहीं है।

+0

कुछ भी काम नहीं किया लेकिन यह! क्या आप जानते हैं कि मैं इसे वीएस 2012 के लिए स्थायी रूप से कैसे सेट कर सकता हूं? – manishKungwani

+0

हां! धन्यवाद! आपके लिंक से एक और बड़ा बिंदु: "जिस तरह से एमएसबिल्ड कमांड लाइन बिल्ड के लिए टूलसेट संस्करणों का चयन करता है, वह अब विजुअल स्टूडियो परियोजनाओं के निर्माण के समान है"। अगर मैं शुरुआत से ही किया होता तो मैं दोनों के बीच मामूली बारीकियों को ट्रैक करने के दिन बचा सकता था। हमारे संकलन मशीन पर वीएस2013 स्थापित करने के बाद –

+0

उसी समस्या में भाग लें। हमारे पास जेनकिंस एमएसबिल्ड संकलन और वेब प्रकाशित कार्यों को लात मार रहा है, और उन्होंने अचानक काम करना बंद कर दिया। VS2013 msbuild निश्चित चीजों का उपयोग करने के लिए जेनकींस बदलना। –

0

एक और विकल्प जो मेरे लिए इस त्रुटि के साथ काम करता था, विजुअल स्टूडियो (मेरे केस एक्सप्रेस में) स्थापित करना था। मैंने सर्वर पर एक बार एप्लिकेशन बनाया और फिर उस बिंदु से आगे यह मेरे निरंतर एकीकरण परियोजना के हिस्से के रूप में सही ढंग से बनाया गया।

0

मैं वी.एस. 2012 में एक ही मुद्दा था और सब मैंने किया था निम्नलिखित था: "। प्रकाशन के दौरान precompile"

क्लिक करें प्रकाशित करें, के तहत वेब प्रकाशित सेटिंग टैब पर, सही का निशान हटाएँ जाना

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