2012-05-13 11 views
6

पर मोनो डेवलपमेंट में एमवीसी 4 प्रोजेक्ट बनाने के दौरान वेबप्लिकेशन। लक्ष्य गायब हैं। मैं मोनो 2.10.9 का उपयोग कर ओएस एक्स 10.7.4 पर एक परीक्षण एमवीसी 4 प्रोजेक्ट बनाने की कोशिश कर रहा हूं। मैंने विजुअल स्टूडियो में एक नया खाली एमवीसी 4 वेब एप्लिकेशन बनाया है जो स्रोत कोड को विंडोज से मैक ओएस एक्स में स्थानांतरित करने के लिए इस्तेमाल किया गया है। फिर मैंने .nuget पैकेज पुनर्स्थापन के लिए xbuild चलाया, लेकिन जब मैं monodevelop में निर्माण करता हूं तो मुझे एक अजीब त्रुटि मिलती है:ओएस एक्स 10.7.4

/Users/tamasnagy/Developer/Spellbound/Spellbound/Spellbound.csproj: Error: /Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/xbuild/Microsoft/VisualStudio/v10.0/WebApplications/Microsoft.WebApplication.targets: Project file could not be imported, it was being imported by /Users/tamasnagy/Developer/Spellbound/Spellbound/Spellbound.csproj: Imported project: "/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/xbuild/Microsoft/VisualStudio/v10.0/WebApplications/Microsoft.WebApplication.targets" does not exist. (Spellbound)

इसका क्या अर्थ हो सकता है? यह तब भी होता है जब मैं मोनो डेवलपमेंट में एक नई एमवीसी प्रोजेक्ट बनाता हूं और बिल्ड बिल्ड करता हूं। कोई विचार?

उत्तर

1

मोनो के एमएसबिल्ड कार्यान्वयन (xbuild) में एएसपी.नेट परियोजनाओं के लिए लक्ष्य का कार्यान्वयन नहीं है।

आप मोनो डेवलपमेंट में निर्माण करने में सक्षम हो सकते हैं। सुनिश्चित करें कि आपके पास MonoDevelop वरीयताओं में प्रयोगात्मक xbuild एकीकरण बंद है। v9.0 आयात

+0

:

आप मानक बैश खोल का उपयोग कर रहे हैं, तो .profile फ़ाइल यह डाल करने के लिए जगह है? मैन्युअल रूप से पैकेज को मैन्युअल रूप से बहाल करने के लिए आपको वापस जाना होगा? – sumitkm

3

बदलें अपने csproj फाइल करने के लिए, तो के रूप में ...

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" /> 
+0

यह अब काम नहीं करता है क्योंकि एमडी मास्टर v9.0 को v10.0 – firegrass

8

एक सिमलिंक बनाएँ:

सीडी/usr/lib/मोनो/xbuild/माइक्रोसॉफ्ट/VisualStudio/v9। 0

ln -s v9.0 v10.0

मैं एक ही सटीक Ubuntu 12.04 दो अलग कंप्यूटरों पर distro है और समझ नहीं सकता है क्यों मोनो एक कंप्यूटर और अन्य नहीं पर संकलन होगा। लेकिन ओह ठीक है, symlink समस्या हल।

+0

पर बदलने के लिए जोर देता है, यदि आप XBuild/MSBuild का उपयोग करना चाहते हैं, तो यह सबसे अच्छा समाधान है (जो कि जब आप गुडियां चाहते हैं तो यह सबसे अच्छा समाधान है Nuget पैकेज पुनर्स्थापित)। – sumitkm

+1

यह स्वीकार किए गए एक से बेहतर जवाब है। –

+0

विजुअल स्टूडियो के नए संस्करणों के लिए ही जाता है: http://stackoverflow.com/a/35955692/200987 – oligofren

0

मुझे पता है कि यह एक पुराना सवाल है, लेकिन यह ओएसएक्स पर WebApplications.targets का उपयोग करने के तरीके की खोज करते समय आया, इसलिए यह अभी भी उत्तर देने योग्य है। मोनो (5.x) के वर्तमान संस्करण के साथ, Webapplication.targets शामिल है, इसलिए अब आपको केवल VSToolsPath सेट करना है, और सबकुछ बस काम करना चाहिए। यदि आप XBuild/MSBuild बंद कर देते हैं तो आप Nuget पैकेज पर बाहर ढीला नहीं है पुनर्स्थापित

export VSToolsPath=/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/xbuild/Microsoft/VisualStudio/v15.0/