1

当您在 VS11 beta 中创建一个新的 C# Metro 风格应用程序时,它只有两个引用:一个指向 Windows.winmd,这是一个文件,我明白了;一个指向“.NET for Metro 风格应用程序”,它似乎指向 Reference Assemblies 下的 .NETCore 文件夹,而不是特别指向任何文件。两个参考的文件类型属性都是“SDK”。

我是否正确猜测文件夹引用有效地引用了该文件夹中的每个文件?那里有什么特别有趣的编译时事情吗?有没有办法可以创建一个可以以相同方式引用的文件夹?

4

2 回答 2

1

当您提高构建详细度、工具 + 选项、项目和解决方案、构建和运行、MSBuild 项目构建输出详细度设置时,您可以看到这一点。它在“TargetMonikerDisplayName”之后变得有趣,其中显示一条消息,显示它计算的引用程序集以及Task "Csc"显示传递给 C# 编译器的命令行选项的通知。

你会看到它通过了它们。我在 .NETCore\v4.5 目录中有 71 个引用程序集,编译器有 72 个 /reference 选项,Windows.winmd 有 1 个额外的

因此,您始终可以在 C# Metro 应用程序中编写这样的代码;)

        string newline = Microsoft.VisualBasic.Constants.vbCrLf;
于 2012-05-09T17:25:34.367 回答
0

如果您msbuild在控制台上使用构建项目,您将能够看到到底发生了什么。所有 .Net 引用都作为编译器选项传递给编译/reference器,所以我认为编译时不会发生任何特别或有趣的事情。

似乎做了一些特殊的工作msbuild来包含对 Windows SDK 和 .Net 的引用,而不是可以用于其他目的的标准功能。如果您打开该csproj文件,您会看到所有 .Net 和 Windows 引用都已自动添加。

于 2012-05-07T18:18:31.340 回答