asp.net - एएसपी.नेट एमवीसी में संकलन दृश्य




asp.net-mvc msbuild (6)

मैं विचारों को संकलित करने के लिए एक एमएसबिल्ड कार्य चाहता हूं ताकि मैं देख सकूं कि संकलन समय त्रुटियां अच्छी तरह से हैं ... समय संकलित करें। कोई विचार?


आप इसके लिए aspnet_compiler उपयोग कर सकते हैं:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler -v /Virtual/Application/Path/Or/Path/In/IIS/Metabase -p C:\Path\To\Your\WebProject -f -errorstack C:\Where\To\Put\Compiled\Site

जहां " / वर्चुअल / एप्लिकेशन / पथ / या / पथ / इन / आईआईएस / मेटाबेस " ऐसा कुछ है: " / MyApp " या " / lm / w3svc2 / 1 / root / "

एमएसडीएन पर एक AspNetCompiler कार्य भी है, यह दिखाता है कि MSBuild के साथ aspnet_compiler को एकीकृत कैसे करें:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="PrecompileWeb">
        <AspNetCompiler
            VirtualPath="/MyWebSite"
            PhysicalPath="c:\inetpub\wwwroot\MyWebSite\"
            TargetPath="c:\precompiledweb\MyWebSite\"
            Force="true"
            Debug="true"
        />
    </Target>
</Project>

इसके अलावा, यदि आप Resharper का उपयोग करते हैं, तो आप समाधान वाइड विश्लेषण सक्रिय कर सकते हैं और यह एएसपीएक्स फ़ाइलों में आपके पास होने वाली किसी भी कंपाइलर त्रुटियों का पता लगाएगा। यही तो हम भी करते हैं...


बिल्ड> रन कोड विश्लेषण

हॉटकी: Alt + F11

मुझे रेजर त्रुटियों को पकड़ने में मदद मिली।


मुझे नहीं पता कि आप किस व्यूइंग का उपयोग कर रहे हैं, लेकिन यदि आप रेजर का उपयोग कर रहे हैं, तो आप मेरे ब्लॉग पोस्ट को देखना चाहेंगे: अपने एएसपीएनटी एमवीसी रेज़र विचारों को एक अलग डीएल में संकलित करें

अन्य व्यूइंग के लिए भी उस कोड का उपयोग करना संभव होना चाहिए, लेकिन अभी तक ऐसा नहीं किया है और परीक्षण नहीं किया है


विजुअल स्टूडियो की उत्पादकता पावर टूल्स ( फ्री ) एक्सटेंशन का उपयोग थोड़ा सा मदद करता है । विशेष रूप से, Solution Error Visualizer सुविधा। इसके साथ, संकलन त्रुटियों समाधान समाधान में दृष्टि से चिह्नित (स्रोत फ़ाइल में जहां त्रुटि मिली थी)। किसी कारण से, हालांकि, यह सुविधा कोड में कहीं और त्रुटियों के साथ काम नहीं करती है।

एमवीसी विचारों के साथ, किसी भी संकलन-समय त्रुटियों को अभी भी अपने संबंधित .cs फ़ाइलों में लाल रंग में रेखांकित किया जाएगा, लेकिन इन त्रुटियों को सिग्नल करना समाधान एक्सप्लोरर में ऊपर नहीं है (किसी भी तरह से, यहां तक ​​कि स्रोत स्रोत फ़ाइल में नहीं)।

मेरे पिछले कथन को सही करने के लिए BlueClouds लिए धन्यवाद।

मैंने अभी विस्तार की गिटूब परियोजना पर एक issue रूप में इसकी सूचना दी है।


आरसी 1 के लिए रीडेमे शब्द दस्तावेज़ से (Google द्वारा अनुक्रमित नहीं)

एएसपी.नेट कंपाइलर पोस्ट-बिल्ड चरण

वर्तमान में, व्यू फ़ाइल के भीतर त्रुटियां रन टाइम तक नहीं मिली हैं। संकलन समय पर इन त्रुटियों का पता लगाने के लिए, एएसपी.नेट एमवीसी परियोजनाओं में अब एक एमवीसीबिल्ड व्यूज प्रॉपर्टी शामिल है, जो डिफ़ॉल्ट रूप से अक्षम है। इस प्रॉपर्टी को सक्षम करने के लिए, प्रोजेक्ट फ़ाइल खोलें और MvcBuildViews प्रॉपर्टी को सत्य पर सेट करें, जैसा कि निम्न उदाहरण में दिखाया गया है:

<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <MvcBuildViews>true</MvcBuildViews>
  </PropertyGroup>

नोट इस सुविधा को सक्षम करने से बिल्ड समय पर कुछ ओवरहेड जोड़ता है।

आप निम्न चरणों का पालन करके विचारों के निर्माण-समय सत्यापन को शामिल करने के लिए एमवीसी की पिछली रिलीज के साथ बनाई गई परियोजनाओं को अपडेट कर सकते हैं:

  1. प्रोजेक्ट फ़ाइल को टेक्स्ट एडिटर में खोलें।
  2. निम्न तत्व को <PropertyGroup> सबसे अधिक <PropertyGroup> तत्व: <MvcBuildViews>true</MvcBuildViews> अंतर्गत निम्न तत्व जोड़ें
  3. प्रोजेक्ट फ़ाइल के अंत में, <Target Name="AfterBuild"> तत्व को <Target Name="AfterBuild"> और निम्न से मेल खाने के लिए इसे संशोधित करें:
<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
</Target>





msbuild