VS11 Beta 中的“.NET for Metro 风格应用”参考究竟是如何工作的

本文关键字:何工作 究竟 工作 参考 中的 Beta NET for 应用 风格 Metro | 更新日期: 2023-09-27 18:33:20

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

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

VS11 Beta 中的“.NET for Metro 风格应用”参考究竟是如何工作的

当你提高

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

你会看到它通过了所有内容。 我在 .NETCore''v4.5 目录,编译器获得 72 个/reference 选项,Windows .winmd 额外获得 1

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

        string newline = Microsoft.VisualBasic.Constants.vbCrLf;

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

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