【发布时间】:2011-03-24 18:47:49
【问题描述】:
由于一些非常奇怪的原因,我的 Visual Studio 2008 在尝试编译 C# 项目时,尝试将可执行文件的输出写入与可执行文件同名的目录,至少看起来这就是错误消息暗示。在我的任何项目上运行编译后,CSC.EXE 报告以下编译器错误:
无法写入输出文件 'D:\Projects\Examples\StringBuilderVsString\obj\Release\StringBuilderVsString.exe' -- '目录名无效。 '
当我查看 obj\Release 或 obj\Debug 内部时,所有中间资源,如 StringBuilderVsString.pdb 都正确写入该目录。目录中没有空格。从命令提示符运行 csc.exe 时也会出现该错误。
运行进程监视器时,我只看到 csc.exe 访问的文件成功,我看不到任何查询或写入不存在的位置。
欢迎任何有关解决此问题的想法。
【问题讨论】:
-
the double projFilename.exe is intentional为什么? -
我认为他的意思是 他 故意写的,但显然 VS 做错了什么来提出这个。
-
@Codesleuth:我的意思是:我写了它,因为这是 Visual Studio 尝试将输出写入的地方。它应该没有第二个名字,当然,它根本不应该尝试将输出写入与输出可执行文件名相同的目录。 @Kent:正是
-
啊,明白了。在这种情况下,发布 .csproj 文件;可能很有启发性。
-
@all:在我更新问题以更准确地描述问题后,上述 cmets 已失效。
标签: c# visual-studio-2008 compiler-errors csc