当尝试编译我的 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 图像引起的。我已经检查了所有图标并删除了 256x256 版本,但错误仍然存​​在。关于如何摆脱这个问题有什么想法吗?


@麦克风:一天晚上它神秘地出现了。我搜索了 csproj 文件,但没有提到 CSC97.tmp (我还检查了解决方案文件,但我也没有运气)。如果有帮助的话,我已经发布了 Pastebin 上 csproj 文件的内容.

@德里克:没问题。这是编译器的输出。

------ 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 解决了这个问题。您可能想尝试一下。

附:我现在明白为什么您不包含更多编译器输出了。那里没什么可看的。:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top