XAML 命名空间定义包含点,怎么可能先是正确的,然后又是错误的呢?

发布于 2025-01-09 00:04:16 字数 805 浏览 0 评论 0原文

我有以下 XAML 文件:

<client:View ...
    ...
    xmlns:Product.Project1.Client="clr-namespace:Product.Project1.Client.Controls;assembly=Product.Project1.Client"
    ...

在 Visual Studio 中,此行被禁用(变灰),我得到提示,说这不是有效的 XAML 名称,但当我尝试构建时,没有问题。

但是,然后我添加了类似的行:

<client:View ...
    ...
    xmlns:Product.Project2.Client="clr-namespace:Product.Project2.Client.Controls;assembly=Product.Project2.Client"
    xmlns:Product.Project1.Client="clr-namespace:Product.Project1.Client.Controls;assembly=Product.Project1.Client"

这些行再次被禁用(变灰),我得到提示,说这不是有效的 XAML 名称,但这一次,当我编译时,我收到两个 XLS0412 错误,指出提到的行不是有效的 XAML 名称。

我正在向现有项目添加一些内容,所以我想知道如何首先成功编译但下次失败。有人有想法吗?

提前致谢

I have the following XAML file:

<client:View ...
    ...
    xmlns:Product.Project1.Client="clr-namespace:Product.Project1.Client.Controls;assembly=Product.Project1.Client"
    ...

In Visual Studio, this line gets disabled (greyed out), I get a hint, saying that this is not a valid XAML name, but when I try to build, no problem.

However, then I add a similar line:

<client:View ...
    ...
    xmlns:Product.Project2.Client="clr-namespace:Product.Project2.Client.Controls;assembly=Product.Project2.Client"
    xmlns:Product.Project1.Client="clr-namespace:Product.Project1.Client.Controls;assembly=Product.Project1.Client"

Again these line get disabled (greyed out), I get a hint, saying that this is not a valid XAML name, but this time, when I compile, I get two XLS0412 errors, saying that the mentioned lines are not valid XAML names.

I'm in the process of adding something to an existing project, so I'd like to know how this can compile successfully first but then fail a next time. Does anybody have an idea?

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无声无音无过去 2025-01-16 00:04:16

该问题是由于代码行 Product.Project2.Client 内的点引起的。
替换特殊字符将解决您的问题,例如 ProductProject2Client 或如您所提到的:
Product_Project2_Client

The problem is due to the dot inside the codeline Product.Project2.Client.
Replacing the Special Character will solve your issue, e.g. ProductProject2Client or as you mentioned:
Product_Project2_Client.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文