自定义模板命名空间错误
本文关键字:错误 命名空间 自定义 | 更新日期: 2023-09-27 18:03:06
我的自定义项目模板在Visual Studio中使用Sidewaffle。它工作得很好,直到我尝试添加一个新的类到现有的项目。
每当添加新类时,名称空间与我用于创建模板的项目中的名称空间相同,而不是用于当前项目的名称空间。模板将替换默认文件中的名称空间,而不替换新文件中的名称空间。
我可以修复这个还是我必须每次更改命名空间?
所以我找到了一个解决错误的方法。首先,我遵循以下步骤:在Visual Studio中重命名解决方案(和目录)的正确方法。当我重命名包含模板文件的解决方案时,我想我可能在早些时候遇到了问题。
这仍然没有解决我的问题,因为当查看项目属性部分下的默认名称空间时,它是我用来创建模板的项目中的名称空间(如预期的那样)。然而,Sidewaffle应该采用名称空间并将其替换为"$safeprojectname$"。这似乎不适用于默认名称空间,因此每当添加新文件时,将使用不正确的名称空间。
Visual Studio不允许你输入"$safeprojectname$"作为默认命名空间,因为它说这是一个无效的格式。长话短说,您需要编辑模板建模后的项目的.csproj文件(使用任何文本编辑器)
`<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{88B0B111-3A80-4289-9B81-C7323331ABCB}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>$safeprojectname$</RootNamespace>
<AssemblyName>$safeprojectname$</AssemblyName>
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>`
并将"RootNamespace"属性改为"$safeprojectname$"。为了更好地测量,我还将"AssemblyName"更改为"$safeprojectname$"。保存文件,应该就可以了。