2011-12-26 14 views
6

मैं एक .net 3.5 ऐप से CSharpCodeProvider का उपयोग कर एक .cs फ़ाइल को संकलित करने का प्रयास कर रहा हूं और मैं .net4 कंपाइलर को लक्षित करना चाहता हूं लेकिन मुझे यह त्रुटि मिल रही है "कंपाइलर निष्पादन योग्य फ़ाइल csc.exe नहीं मिल सका"। मेरे पास .net4 स्थापित है। नीचे वह कोड है जिसका उपयोग मैं ब्रेवटी के लिए छोड़ी गई कुछ पंक्तियों के साथ कर रहा हूं। जब मैं कंपाइलरवर्सन को "v3.5" पर सेट करता हूं तो मुझे कोई त्रुटि नहीं मिलती है।क्या एक .net3.5 ऐप से .net4 संकलक को CSharpCodeProvider के साथ लक्षित करना संभव है?

CompilerResults results = null; 
using (CSharpCodeProvider provider = new CSharpCodeProvider(new Dictionary<string, string>() {{"CompilerVersion", "v4.0"},})) 
{ 
    CompilerParameters options = new CompilerParameters(); 
    ... 
    results = provider.CompileAssemblyFromFile(options, Directory.GetFiles(path, "*.cs", SearchOption.AllDirectories)); 
} 
+0

पथ समस्या की तरह लगता है .. नेट 3.5 असेंबली और 4.0 विशेष रूप से जीएसी के मामले में उदाहरण के लिए उसी जीएसी को साझा न करें जहां आपने शुरुआत के लिए .NET 4.0 ढांचे को स्थापित किया है ... – MethodMan

+0

.net4 सी में स्थापित है: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ और .net3.5 C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ – Loman

+0

में स्थापित है, शब्दकोश में "कंपाइलरवर्सन" का प्रयोग करें निर्माता को पास करें। http://msdn.microsoft.com/en-us/library/bb537926.aspx –

उत्तर

4

मुझे लगता है कि आप .NET 4.0 से सीएससी v3.5 का उपयोग कर मजबूर कर सकते हैं।

लेकिन इसके विपरीत नहीं।

(मैं गलत हो सकता हूं)।

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