Я написал несколько очень простых шаблонов элементов в Visual Studio c #.Шаблоны основаны на VisualStudio 2010 SDK SP1.Все работает отлично, за исключением одного шаблона элемента;
После некоторых незначительных изменений я попытался применить шаблон снова к уже существующему, но снова пустому проекту модульного теста и получил следующую ошибку: «Значение не попадает в пределыожидаемый диапазон. "Ошибка также произошла в некоторых других проектах того же решения.
Возврат изменений в шаблоне элемента приводит к той же ошибке.Кажется, что-то сломано ... После большого перестроения и удаления AddIn-closeVS-installAddIn-restartVS я удалил существующий проект Unit-test и создал новый с теми же ссылками, что и старый, не работающий, и все работает нормально.
Вот содержимое файла 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>
Вот содержимое одного из файлов класса
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
{
}
}
Еще одно примечание: шаблон элемента C #Проект используется проектом VSIX.
Кто-нибудь знает больше об этой ошибке и почему она возникает?