سؤال

عند محاولة تجميع مشروعي في C#، أحصل على الخطأ التالي:

'C:\Documents and Settings\Dan\Desktop\Rowdy Pixel\Apps\CleanerMenu\CleanerMenu\obj\Debug\CSC97.tmp' is not a valid Win32 resource file.

بعد إجراء العديد من عمليات البحث على Google، قررت أن هذا يحدث عادةً بسبب صورة بحجم 256 × 256 داخل أيقونة يستخدمها المشروع.لقد قمت بمراجعة كافة الرموز وقمت بإزالة الإصدارات 256 × 256، لكن الخطأ استمر.أي أفكار حول كيفية التخلص من هذا؟


@ مايك:ظهرت بشكل غامض ذات ليلة.لقد بحثت في ملف csproj، ولكن لم يكن هناك أي ذكر لـ CSC97.tmp (لقد قمت أيضًا بفحص ملف الحل، ولكن لم يحالفني الحظ هناك أيضًا).في حال كان ذلك مفيدًا، لقد قمت بنشر محتويات ملف csproj على Pastebin.

@ديريك:لا مشكلة.وهنا إخراج المترجم.

------ Build started: Project: Infralution.Licensing, Configuration: Debug Any CPU ------
Infralution.Licensing -> C:\Documents and Settings\Dan\Desktop\Rowdy Pixel\Apps\CleanerMenu\Infralution.Licensing\bin\Debug\Infralution.Licensing.dll
------ Build started: Project: CleanerMenu, Configuration: Debug Any CPU ------
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Csc.exe /noconfig /nowarn:1701,1702 /errorreport:prompt /warn:4 /define:DEBUG;TRACE /main:CleanerMenu.Program /reference:"C:\Documents and Settings\Dan\Desktop\Rowdy Pixel\Apps\CleanerMenu\Infralution.Licensing\bin\Debug\Infralution.Licensing.dll" /reference:..\NotificationBar.dll /reference:..\PSTaskDialog.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll /reference:obj\Debug\Interop.IWshRuntimeLibrary.dll /debug+ /debug:full /optimize- /out:obj\Debug\CleanerMenu.exe /resource:obj\Debug\CleanerMenu.Form1.resources /resource:obj\Debug\CleanerMenu.frmAbout.resources /resource:obj\Debug\CleanerMenu.ModalProgressWindow.resources /resource:obj\Debug\CleanerMenu.Properties.Resources.resources /resource:obj\Debug\CleanerMenu.ShortcutPropertiesViewer.resources /resource:obj\Debug\CleanerMenu.LocalizedStrings.resources /resource:obj\Debug\CleanerMenu.UpdatedLicenseForm.resources /target:winexe /win32icon:CleanerMenu.ico ErrorHandler.cs Form1.cs Form1.Designer.cs frmAbout.cs frmAbout.Designer.cs Licensing.cs ModalProgressWindow.cs ModalProgressWindow.Designer.cs Program.cs Properties\AssemblyInfo.cs Properties\Resources.Designer.cs Properties\Settings.Designer.cs Scanner.cs ShortcutPropertiesViewer.cs ShortcutPropertiesViewer.Designer.cs LocalizedStrings.Designer.cs UpdatedLicenseForm.cs UpdatedLicenseForm.Designer.cs
error CS1583: 'C:\Documents and Settings\Dan\Desktop\Rowdy Pixel\Apps\CleanerMenu\CleanerMenu\obj\Debug\CSC97.tmp' is not a valid Win32 resource file

Compile complete -- 1 errors, 0 warnings
------ Skipped Build: Project: CleanerMenu Installer, Configuration: Debug ------
Project not selected to build for this solution configuration 
========== Build: 1 succeeded or up-to-date, 1 failed, 1 skipped ==========

لقد قمت أيضًا بتحميل الرمز الذي أستخدمه.أنت تستطيع مشاهدته هنا.


@ مايك:شكرًا!بعد إزالة كل شيء باستثناء الصورة مقاس 32 × 32، أصبح كل شيء يعمل بشكل رائع.الآن يمكنني العودة وإضافة الأحجام الأخرى واحدًا تلو الآخر لمعرفة أي منها يسبب لي الحزن.:)

@ديريك:منذ أن حصلت على الخطأ لأول مرة، قمت بإعادة تثبيت Windows بالكامل (مع SDK.) لم يكن هذا هو السبب الرئيسي لإعادة التثبيت، ولكن كان لدي أمل ضئيل في أن يؤدي ذلك إلى حل المشكلة.

الآن إذا كان بإمكاني فقط معرفة سبب نجاحه سابقًا مع جميع الأحجام الأخرى ...

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

المحلول

لا أعرف إذا كان هذا سيساعد، ولكن من هذا المنتدى:

أضف ملف .ico إلى قسم التطبيق في صفحة الخصائص، وظهر لي الخطأ الموضح، عندما قمت بفحص ملف Icon باستخدام محرر أيقونات، تبين أن الملف يحتوي على أكثر من نسخة للصورة، أي (16 x 16، 24 x 24، 32 x 32، 48 x 48 vista مضغوط)، قمت بإزالة التنسيقات الأخرى التي لم أرغب في إعادة حفظ الملف (فقط باستخدام 32x 32) ويتم الآن تجميع التطبيق بدون أخطاء.

حاول فتح الأيقونة في محرر الأيقونات ومعرفة ما إذا كنت ترى تنسيقات أخرى كما هو موضح (حاول أيضًا إزالة الأيقونة ومعرفة ما إذا كان سيتم إنشاء المشروع مرة أخرى، فقط للتحقق من أن الأيقونة هي التي تسبب ذلك).

نصائح أخرى

واجهت مشكلة مماثلة مع "obj/debug/*حدث خطأ في ملف .tmp" في سجل البناء الخاص بي.تبين أن محرك الأقراص C:\ الخاص بي كان خاليًا من المساحة.بعد إخلاء بعض المساحة، بدأت تصميماتي في العمل.

هل هذا هو الملف الذي قمت بإنشائه وإضافته إلى المشروع أم أنه ظهر بشكل غامض؟

ربما يمكنك التحقق من ملف .csproj الخاص بك ومعرفة كيفية الرجوع إليه (يجب أن يكون ملف xml بسيطًا ويمكنك البحث عن CSC97.tmp).

ربما قم بنشر المعلومات التي تجدها حتى نتمكن من الحصول على مزيد من التفاصيل للمساعدة في حل مشكلتك

بالنظر حولك، يبدو أن بعض الأشخاص قاموا بحل هذه المشكلة عن طريق إصلاح .NET SDK أو إعادة تثبيته.لربما تود ان تجرب.

ملاحظة.أفهم سبب عدم تضمين المزيد من مخرجات المترجم الآن.ليس هناك الكثير لرؤيته حقًا هناك.:)

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