2008-09-13 34 views
1

CodeDom kullanarak dinamik olarak derleme kodunu çalıştırmaya çalışıyorum. Diğer derlemeleri yükleyebilirim, ancak System.Data.Linq.dll dosyasını yükleyemiyorum. 'System.Data.Linq.dll'CodeDom için System.Data.Linq.dll yüklenemedi

Meta veri dosyası

Kodum benziyor bulunamadı: bir hata alıyorum

CompilerParameters compilerParams = new CompilerParameters(); 
compilerParams.CompilerOptions = "/target:library /optimize"; 
compilerParams.GenerateExecutable = false; 
compilerParams.GenerateInMemory = true; 
compilerParams.IncludeDebugInformation = false; 
compilerParams.ReferencedAssemblies.Add("mscorlib.dll"); 
compilerParams.ReferencedAssemblies.Add("System.dll"); 
compilerParams.ReferencedAssemblies.Add("System.Data.Linq.dll"); 

Herhangi fikirler?

+1

düzenleme talebi: lütfen başlığı düzeltin. –

cevap

3

Bunun nedeni, bu derlemenin mscorlib'den farklı bir konumda depolanması olabilir. Derleme için tam bir yol sağlarsanız çalışması gerekir. Tam yolu elde etmenin en uygun yolu, .NET yükleyicinin sizin için işi yapmasına izin vermektir. Böyle bir şey denemek istiyorum:

compilerParams.ReferencedAssemblies.Add(typeof(DataContext).Assembly.Location); 
0

Bu saçma bir cevap olabilir, ancak kod .NET Framework 3.5 ile bir makinede çalıştığından emin misin?

+0

Eminim öyle. Tam olarak aynı hatayı yaşıyorum ve hem .NET 3.5 hem de .NET 4 var. :) –