2015-12-31 8 views
17

मैं .NET 4.0 + MVC 3 से .NET 4.5.2 + MVC5 तक परियोजनाओं का एक समूह माइग्रेट करने जा रहा हूं।एमवीसी 5 में web.config में <system.codedom>/<compilers> क्या करता है?

यह आसान बनाने के लिए, मैंने DLL संदर्भों और कुछ अन्य सामान जैसे web.config की तुलना करने के लिए एक नया खाली एमवीसी प्रोजेक्ट बनाया है।

बाद में, निम्न प्रविष्टियों दृश्य स्टूडियो द्वारा उत्पन्न कर रहे:

<system.codedom> 
    <compilers> 
     <compiler language="c#;cs;csharp" extension=".cs" 
     type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
     warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/> 
     <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" 
     type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
     warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/> 
    </compilers> 
</system.codedom> 

लेकिन मैं नहीं जानता कि क्या यह वास्तव में होता है। एमवीसी 3 परियोजनाओं में इन भागों को शामिल नहीं किया गया है। मेरी समझ है कि रोज़लिन के साथ इसका कुछ संबंध है?

उत्तर

25

ये सेटिंग्स dynamic compilation के लिए उपयोग की जाती हैं। यदि आप प्री-संकलन करते हैं और केवल वेबसर्वर पर संकलित असेंबली डालते हैं तो उन्हें web.config से सुरक्षित रूप से हटाया जा सकता है।

भी देखें The impact of multiple compiler definitions in system.codedom in web.config

+1

क्या हो अगर मैं अपने सर्वर में web.config से निकालें? – mejiamanuel57

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