Вопрос

При попытке скомпилировать проект C# я получаю следующую ошибку:

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

Проведя множество поисков в Google, я определил, что обычно это вызвано изображением размером 256x256 внутри значка, используемого проектом.Я перебрал все значки и удалил версии 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 ==========

Я также загрузил значок, который использую.Ты можешь посмотреть это здесь.


@Майк:Спасибо!После удаления всего, кроме изображения 32x32, все заработало отлично.Теперь я могу вернуться и добавить другие размеры один за другим, чтобы увидеть, какой из них меня огорчает.:)

@Дерек:Поскольку я впервые получил эту ошибку, я выполнил полную переустановку Windows (а вместе с ней и SDK). Это не было основной причиной переустановки, но у меня была слабая надежда, что это решит проблему.

Теперь, если бы я только мог понять, почему раньше это работало со всеми другими размерами...

Это было полезно?

Решение

Не знаю, поможет ли это, но от этот форум:

Добавьте файл .ico в раздел приложения на странице свойств и получил описанную ошибку. Когда я проверил файл значка с помощью редактора значков, выяснилось, что файл имел более одной версии изображения, т.е. (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.Возможно, вы захотите попробовать.

P.S.Теперь я понимаю, почему вы не включили больше результатов компилятора.Там особо не на что посмотреть.:)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top