【问题标题】:How does the ".NET for Metro style apps" reference in VS11 Beta work, exactly?VS11 Beta 中的“.NET for Metro 风格应用程序”参考究竟是如何工作的?
【发布时间】:2012-05-07 10:28:15
【问题描述】:

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

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

【问题讨论】:

    标签: c# windows-8 visual-studio-2012


    【解决方案1】:

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

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

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

            string newline = Microsoft.VisualBasic.Constants.vbCrLf;
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-03-26
        • 2015-04-08
        • 1970-01-01
        • 2012-06-12
        • 2018-06-19
        • 2011-11-19
        • 2011-06-26
        相关资源
        最近更新 更多