ฉันต้องการงาน msbuild เพื่อรวบรวมมุมมองเพื่อที่ฉันจะได้เห็นว่ามีข้อผิดพลาดในการคอมไพล์ในเวลา ... รวบรวมเวลา ความคิดใด ๆ
ฉันต้องการงาน msbuild เพื่อรวบรวมมุมมองเพื่อที่ฉันจะได้เห็นว่ามีข้อผิดพลาดในการคอมไพล์ในเวลา ... รวบรวมเวลา ความคิดใด ๆ
คำตอบ:
ผมตรงไปตรงมาอยากจะแนะนำRazorGeneratorแพคเกจ nuget วิธีที่มุมมองของคุณมี.designer.cs
ไฟล์ที่สร้างขึ้นเมื่อคุณบันทึกและนอกเหนือจากการรวบรวมข้อผิดพลาดเกี่ยวกับเวลาที่คุณดูพวกเขาจะถูกคอมไพล์ล่วงหน้าในแอสเซมบลี (= วอร์มเร็วขึ้น) และ Resharper ให้ความช่วยเหลือเพิ่มเติม
ที่จะใช้นี้รวมถึงRazorGeneratorแพคเกจในตัวคุณ nuget โครงการ ASP.NET MVC และติดตั้ง " มีดโกนปั่นไฟนามสกุล" ภายใต้รายการภายใต้เครื่องมือ→การต่อเติมและปรับปรุง
เราใช้สิ่งนี้และค่าใช้จ่ายต่อการคอมไพล์ด้วยวิธีนี้น้อยกว่ามาก นอกจากนี้ฉันอาจจะแนะนำ. NET Demon โดย RedGateซึ่งจะช่วยลดเวลาในการคอมไพล์ได้อีกมาก
หวังว่านี่จะช่วยได้
จาก readme word doc สำหรับ RC1 (ไม่ได้จัดทำดัชนีโดย google)
ASP.NET คอมไพเลอร์ขั้นตอนหลังสร้าง
ขณะนี้ข้อผิดพลาดภายในไฟล์มุมมองไม่ถูกตรวจพบจนกว่าจะถึงเวลาทำงาน เมื่อต้องการให้คุณตรวจพบข้อผิดพลาดเหล่านี้ในเวลาคอมไพล์โครงการ ASP.NET MVC จะมีคุณสมบัติ MvcBuildViews ซึ่งถูกปิดใช้งานตามค่าเริ่มต้น หากต้องการเปิดใช้งานคุณสมบัตินี้ให้เปิดไฟล์โครงการและตั้งค่าคุณสมบัติ MvcBuildViews เป็น true ดังแสดงในตัวอย่างต่อไปนี้:
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MvcBuildViews>true</MvcBuildViews>
</PropertyGroup>
หมายเหตุ การเปิดใช้งานคุณลักษณะนี้จะเพิ่มค่าใช้จ่ายในการสร้างเวลา
คุณสามารถอัพเดตโครงการที่สร้างขึ้นด้วย MVC รุ่นก่อนหน้าเพื่อรวมการตรวจสอบความถูกต้องแบบบิลด์ของมุมมองโดยทำตามขั้นตอนต่อไปนี้:
<PropertyGroup>
:
<MvcBuildViews>true</MvcBuildViews>
<Target Name="AfterBuild">
องค์ประกอบและแก้ไขเพื่อให้ตรงกับต่อไปนี้:<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
</Target>
คุณสามารถใช้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
โดยที่ " / Virtual / Application / Path / หรือ / Path / In / IIS / Metabase " มีลักษณะดังนี้: " / MyApp " หรือ " / lm / w3svc2 / 1 / root / "
นอกจากนี้ยังมีงาน AspNetCompilerบน MSDN ซึ่งแสดงวิธีการรวม aspnet_compiler กับ MSBuild:
<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 คุณสามารถใช้งาน Solution Wide Analysis และมันจะตรวจสอบข้อผิดพลาดของคอมไพเลอร์ที่คุณอาจมีในไฟล์ aspx นั่นคือสิ่งที่เราทำ ...
ASP.NET MVC รุ่นถัดไป (วางจำหน่ายในเดือนมกราคมหรือมากกว่านั้น) ควรมีงาน MSBuild ที่รวบรวมมุมมองดังนั้นคุณอาจต้องรอ
ดูประกาศ
คำตอบที่ให้ในที่นี้ใช้ได้กับรุ่น MVC บางรุ่น แต่ไม่ใช่สำหรับรุ่นอื่น
ทางออกที่ง่ายทำงานกับ MVC1 แต่เมื่ออัพเกรดเป็น MVC2 มุมมองก็ไม่ถูกบ่นอีกต่อไป นี่เป็นเพราะข้อผิดพลาดในไฟล์โครงการเว็บไซต์ ดูบทความ Haacked นี้
ดูสิ่งนี้: http://haacked.com/archive/2011/05/09/compiling-mvc-views-in-a-build-environment.aspx
สร้าง> เรียกใช้การวิเคราะห์รหัส
ฮอต: Alt+F11
ช่วยฉันจับข้อผิดพลาดของมีดโกน
การใช้สตูดิโอภาพผลผลิต Power Tools ( ฟรี ) ขยายช่วยให้นิด โดยเฉพาะSolution Error Visualizer
คุณสมบัติ ด้วยข้อผิดพลาดการคอมไพล์ที่ทำเครื่องหมายด้วยสายตาใน explorer โซลูชัน (ในไฟล์ต้นฉบับที่พบข้อผิดพลาด) อย่างไรก็ตามด้วยเหตุผลบางประการคุณลักษณะนี้ไม่สามารถทำงานได้เหมือนกับข้อผิดพลาดอื่น ๆ ในรหัส
ด้วยมุมมอง MVC ข้อผิดพลาดเวลาคอมไพล์ใด ๆ จะยังคงขีดเส้นใต้เป็นสีแดงในไฟล์. cs ตามลำดับ แต่การส่งสัญญาณข้อผิดพลาดเหล่านี้จะไม่ถูกเผยแพร่ในโซลูชัน Explorer (ไม่ว่าในทางใดถึงแม้จะไม่ใช่ไฟล์ต้นฉบับ)
ขอบคุณสำหรับBlueClouds
การแก้ไขคำสั่งก่อนหน้าของฉัน
ฉันเพิ่งรายงานสิ่งนี้เป็นปัญหาเกี่ยวกับโครงการ github ของส่วนขยาย