2016-08-19 54 views
1

我的自定義項目模板在Visual Studio中使用Sidewaffle。它工作正常,直到我嘗試添加一個新的類到現有的項目。自定義模板命名空間錯誤

每當添加新類時,名稱空間與我用於創建模板的項目中的名稱空間相同 - 與當前項目的名稱空間相反。該模板將替換默認文件中的命名空間,而不是新的。

我能解決這個問題還是必須每次更改命名空間?

回答

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 $」的好辦法。保存文件,你應該是好的。