Я пытаюсь настроить шаблон для создания класса модульного теста с некоторой базовой структурой и использованием операторов по умолчанию.Для этого я создал пользовательский шаблон VS2010, и почти все работает правильно.
Проблема, с которой я столкнулся, заключается в том, что я пытаюсь сослаться на базовое пространство имен моего проекта в моих операторах использования и не могу определить, есть лиэто параметр, который позволит мне сделать это.
Пример того, что я хочу, предполагая, что мой проект называется MyProduct.Test:
using NUnit.Framework;
using MyProduct.Test.Base;
namespace MyProduct.Test.BLL.Services.MyService
{
[TestFixture]
public class MyServiceTest : TestBase
{
[SetUp]
public void Setup()
etc...
Я могу генерировать все, кроме using MyProduct.Test.Base
с шаблоном ниже:
using NUnit.Framework;
using $safeprojectname$.Base;
namespace $rootnamespace$
{
[TestFixture]
public class $safeitemname$ : TestBase
{
[SetUp]
public void Setup()
etc...
К сожалению, $ safeprojectname $ доступно только для шаблонов проектов, но не шаблонов элементов.
Этот шаблон приводит к следующему выводу:
using NUnit.Framework;
using $safeprojectname$.Base;
namespace MyProduct.Test.BLL.Services.MyService
{
[TestFixture]
public class MyServiceTest : TestBase
{
[SetUp]
public void Setup()
etc...
Можно ли как-нибудь получить фактическое корневое пространство имен моего проекта (поскольку $ rootnamespace $ фактически выводит пространство имен для добавляемого файла в зависимости от его местоположения)?
Примечание. Очевидно, что я могу настроить это для правильной работы для одного проекта, но было бы гораздо полезнее иметь шаблон, который работает для всех пользователей.rojects.