Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# VisualStudio ItemTemplate安装错误:值不在预期范围内_C#_Visual Studio 2010_Templates_Itemtemplate - Fatal编程技术网

C# VisualStudio ItemTemplate安装错误:值不在预期范围内

C# VisualStudio ItemTemplate安装错误:值不在预期范围内,c#,visual-studio-2010,templates,itemtemplate,C#,Visual Studio 2010,Templates,Itemtemplate,我已经编写了一些非常简单的VisualStudioC#项目模板。这些模板基于VisualStudio 2010 SDK SP1。除一个项目模板外,所有工作正常 在一些小的更改之后,我尝试将模板再次应用到已经存在但又是空的单元测试项目,并得到以下错误:“值不在预期范围内。”该错误也发生在同一解决方案的一些其他项目中 恢复项模板中的更改会导致相同的错误。有些东西好像坏了。。。在进行了大量的重建和卸载之后,Addin closeVS installAddIn restartVS我删除了现有的单元测试项

我已经编写了一些非常简单的VisualStudioC#项目模板。这些模板基于VisualStudio 2010 SDK SP1。除一个项目模板外,所有工作正常

在一些小的更改之后,我尝试将模板再次应用到已经存在但又是空的单元测试项目,并得到以下错误:“值不在预期范围内。”该错误也发生在同一解决方案的一些其他项目中

恢复项模板中的更改会导致相同的错误。有些东西好像坏了。。。在进行了大量的重建和卸载之后,Addin closeVS installAddIn restartVS我删除了现有的单元测试项目,并创建了一个新的单元测试项目,它的引用与旧的不工作的单元测试项目完全相同,并且一切正常

以下是template.vstemplate文件内容:

<VSTemplate Version="3.0.0" Type="Item" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
  <TemplateData>
    <Name>Tests</Name>
    <Description>No description available</Description>
    <Icon>TestsItems.ico</Icon>
    <TemplateID>662c9d07-0e83-4d4d-87d7-1fcc13667eb8</TemplateID>
    <ProjectType>CSharp</ProjectType>
    <RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
    <NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
    <DefaultName>EntityClass.cs</DefaultName>
  </TemplateData>
  <TemplateContent>
        <References>
            <Reference>
                <Assembly>System</Assembly>
            </Reference>
        </References>

    <ProjectItem TargetFileName="Controller/$fileinputname$ControllerTest.cs" ReplaceParameters="true">Controller/ControllerTest.cs</ProjectItem>
    <ProjectItem TargetFileName="Models/$fileinputname$RepositoryTest.cs" ReplaceParameters="true">Models/RepositoryTest.cs</ProjectItem>
  </TemplateContent>
</VSTemplate>

测验
没有可用的描述
TestsItems.ico
662c9d07-0e83-4d4d-87d7-1fcc13667eb8
CSharp
2
1.
EntityClass.cs
系统
控制器/控制器测试.cs
Models/RepositoryTest.cs
下面是其中一个类文件的内容

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Web.Mvc;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
using NUnit.Framework;
using $rootnamespace$.Controllers;
using $rootnamespace$.Models;
using Assert = NUnit.Framework.Assert;
using IgnoreAttribute = Microsoft.VisualStudio.TestTools.UnitTesting.IgnoreAttribute;

namespace $rootnamespace$.Tests.Controllers
{
    /// <summary>
    /// Testclass for the $fileinputname$Controller
    /// </summary>
    [TestClass]
    public class $fileinputname$ControllerTest
    {

    }
}
使用系统;
使用System.Collections.Generic;
利用制度全球化;
使用System.Web.Mvc;
使用Microsoft.VisualStudio.TestTools.UnitTesting;
使用最小起订量;
使用NUnit.Framework;
使用$rootnamespace$.Controllers;
使用$rootnamespace$.Models;
使用Assert=NUnit.Framework.Assert;
使用IgnoreAttribute=Microsoft.VisualStudio.TestTools.UnitTesting.IgnoreAttribute;
命名空间$rootnamespace$.Tests.Controllers
{
/// 
///$fileinputname$控制器的Testclass
/// 
[测试类]
公共类$fileinputname$ControllerTest
{
}
}
另一个注意事项是:C#Item模板项目正在被VSIX项目占用


有人知道更多关于这个错误的信息以及它发生的原因吗?

在我的例子中,答案很简单;错误是由于占位符名称不正确造成的。

在我的例子中,答案很简单;由于占位符名称不正确而发生错误