自定义模板命名空间错

时间:2016-08-19 16:52:26

标签: c# visual-studio project-template sidewaffle

我的自定义项目模板在Visual Studio中使用Sidewaffle。它工作正常,直到我尝试向现有项目添加新类。

每当添加新类时,命名空间与我用于创建模板的项目中的命名空间相同 - 而不是当前项目的命名空间。该模板替换了默认文件中的命名空间,而不是新文件夹。

我可以解决这个问题,还是每次都要更改命名空间?

1 个答案:

答案 0 :(得分:1)

所以我找到了错误的解决方法。首先,我按照此处列出的步骤进行操作:Proper way to rename solution (and directories) in 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 $”以获得良好的衡量标准。保存文件,你应该很好。