غير قادر على تحميل System.Data.Linq.dll لـ CodeDom

StackOverflow https://stackoverflow.com/questions/60768

  •  09-06-2019
  •  | 
  •  

سؤال

أحاول تجميع التعليمات البرمجية بشكل ديناميكي باستخدام CodeDom.يمكنني تحميل التجميعات الأخرى، لكن لا يمكنني تحميل System.Data.Linq.dll.أحصل على خطأ:

تعذر العثور على ملف البيانات التعريفية "System.Data.Linq.dll".

يبدو الكود الخاص بي كما يلي:

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");

أيه أفكار؟

هل كانت مفيدة؟

المحلول

قد يكون ذلك بسبب تخزين هذا التجميع في موقع مختلف عن موقع mscorlib.يجب أن يعمل إذا قمت بتوفير مسار كامل للتجميع.الطريقة الأكثر ملاءمة للحصول على المسار الكامل هي السماح لمحمل .NET بالقيام بالعمل نيابةً عنك.سأحاول شيئًا كهذا:

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

نصائح أخرى

قد تكون هذه إجابة سخيفة، ولكن هل أنت متأكد من أن التعليمات البرمجية تعمل على جهاز يعمل بـ .NET Framework 3.5؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top