为什么我的C#模板不会作为一个新项目编译

本文关键字:一个 编译 新项目 我的 为什么 | 更新日期: 2023-09-27 18:29:41

我创建了一个模板,希望用于未来的项目。模板的项目名称为"模板"。我浏览了Visual Studio文件>>导出模板,并将项目导出为项目模板。

然后,我使用该模板在一个新的解决方案中创建了一个新项目,并将其称为其他项目。(十一成就)。然后,正如预期的那样,它用"XIVAchievements"替换了"Template"的每一个出现。

我可以编译并运行Template项目,但对于新项目,它不会编译。每当我从theme.xaml文件中进行任何引用时,它都会给出一个错误。Theme.xaml启动:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                xmlns:conv="clr-namespace:XIVAchievements.Converters">
<!--Converters-->
<conv:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
<conv:BooleanToWindowBGSelectionConverter x:Key="BooleanToWindowBGSelectionConverter" />

最后两行提供了错误,指出:名称"BooleanToVisibilityConverter"在命名空间"clr namespace:XIVAchievements.Converters"中不存在。

当然是这样。我试过关闭和重新打开VS,以及清理和重建,但似乎都不起作用。当手动键入出错的行或xmlns时,intellisense正确地给出了IO am引用的选项。

为什么我的C#模板不会作为一个新项目编译

真傻。经过长时间的艰苦研究,问题是我称之为Template,而Template一词在我的主题XAML中被使用,比如:

<Setter Property="Control.Template">

并且.Template被更改为.XIVAchievements。我把这些放回.Template,它现在工作正常。下次导出模板之前应该给出一个不同的项目名称!