gpt4 book ai didi

windows-8 - 在 Metro 风格应用程序中使用单词 "Windows"作为您自己命名空间的一部分

转载 作者:行者123 更新时间:2023-12-04 05:40:37 25 4
gpt4 key购买 nike

如果您尝试在 Metro 风格应用程序(例如 MyCompany.Windows)中使用 Windows 作为您自己命名空间的一部分,它似乎会导致编译器关闭,因为它们开始在您的命名空间而不是 Windows.* 下寻找 WinRT 内容。

例如,如果您创建一个名为 App1 的空白 Windows Metro 风格应用程序并将 App1 命名空间重命名为 App1.Windows 并尝试编译它,您将收到一个错误:

命名空间“App1.Windows”中不存在类型或命名空间名称“UI”(您是否缺少程序集引用?)F:\temp\App1\App1\obj\Debug\App.g.i.cs

生成的文件的顶部如下所示:

namespace App1.Windows
{
#if !DISABLE_XAML_GENERATED_MAIN
public static class Program
{
[System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Windows.UI.Xaml.Build.Tasks"," 4.0.0.0")]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
static void Main(string[] args)
{
Application.Start((p) => new App());
}
}
#endif

partial class App : Windows.UI.Xaml.Application

问题是编译器开始在 App1.Windows 下寻找 Windows.UI。

现在这已经不是什么新鲜事了,如果您在某个时候可能会遇到类似的麻烦之前将您的命名空间命名为 App1.System。问题是相当多的 WPF/Silverlight/Windows Phone 代码使用 MyCompany.Windows.Xyz 命名空间,并且可能容易受到这种麻烦的影响。

关于如何处理这些命名空间,微软是否有一些指导(似乎找不到)?或者也许有一些计划在 future 的版本中解决这个问题?或者我只是错过了什么?

最佳答案

我查看了这个问题,我们应该在生成的代码中使用 global::。我们已经解决了这个问题,并将在下一个版本的 Visual Studio 中提供。

关于windows-8 - 在 Metro 风格应用程序中使用单词 "Windows"作为您自己命名空间的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11294764/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com