我在 VS 2008 中有一个小型虚拟项目,仅包含以下代码文件
using System;
namespace FrameworkTest
{
internal static class MessageQueueNative
{
struct TestStructure
{
public IntPtr aStatus;
}
public static void Main()
{
TestStructure pMgmtProps = new TestStructure { aStatus = IntPtr.Zero };
}
}
}
该项目设置为目标框架2.0,甚至在项目中手动将ToolsVersion设置为2.0。现在该项目从 VS 构建得很好,并且从命令行失败(使用 csc.exe 2.0)。
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Csc.exe /noconfig /nowarn:1701,1702 /errorreport:prompt /warn:4 /define:DEBUG;TRACE /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.Xml.dll /debug+ /debug:full /filealign:512 /optimize- /out:obj\Debug\FrameworksTest.exe /target:exe Class1.cs Properties\AssemblyInfo.cs
现在的问题是为什么它是从 VS 编译的?它应该像在 cmd 行编译的情况下一样失败。相同的源在 VS2005 项目中失败(正确)。
谢谢,弗洛林