XAML 命名空间定义含点,何以先对后错?
XAML namespace definition containing dots, how can something first be right and afterwards be wrong?
我有以下 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 名称。
我正在向现有项目中添加一些东西,所以我想知道这如何能够先编译成功,然后再编译失败。有人有想法吗?
提前致谢
问题是代码行内的点引起的 Product.Project2.Client
。
更换特殊字符将解决您的问题,例如 ProductProject2Client
或如您所述:
Product_Project2_Client
.
我有以下 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 名称。
我正在向现有项目中添加一些东西,所以我想知道这如何能够先编译成功,然后再编译失败。有人有想法吗?
提前致谢
问题是代码行内的点引起的 Product.Project2.Client
。
更换特殊字符将解决您的问题,例如 ProductProject2Client
或如您所述:
Product_Project2_Client
.