В настоящее время я разрабатываю расширение Visual Studio и у меня есть вопрос по поводу Страница параметров .Страница параметров позволяет пользователю сохранить настройки вашего внутреннего номера.Visual Studio выполняет большую часть работы за нас.
Я создал страницу параметров.
public class VisualStudioParameter : DialogPage
{
private string _tfsServerUrl = DefaultParameter.TfsServerUrl;
[Category("TFS Parameters")]
[DisplayName(@"Server Name")]
[Description("The URL of your TFS Server")]
public string TfsServerUrl
{
get { return _tfsServerUrl; }
set { _tfsServerUrl = value; }
}
}
Сначала я создал метод в пакете Visual Studio для доступа к странице параметров.Хорошо, теперь, из моего пакета, я могу легко получить доступ к настройкам.
partial class SpecFlowTfsLinkerExtensionPackage : Package : IParameter
{
....
....
public string GetTfsServerUrl()
{
return ((VisualStudioParameter) GetDialogPage(typeof (VisualStudioParameter))).TfsServerUrl;
}
}
Теперь я хочу иметь возможность в другой библиотеке (другой проект, включенный в пакет VSIX), чтобы легко получитьэти значения.Я не хочу ссылаться на пакет надстроек Visual Studio в моей библиотеке.
У меня также есть модульный тест, поэтому я собираюсь создать интерфейс.Во время модульного тестирования я собираюсь макетировать объект.
public interface IParameter
{
string GetTfsServerUrl();
}
Есть ли у вас какие-либо идеи о том, как можно разработать чистое решение для получения этих параметров из другой сборки?
Как вы думаете,лучшее решение - внедрить зависимость AddIn в мою библиотеку?
Если вы уже разработали расширение Visual Studio, как вы инкапсулировали пользовательские настройки из сборки ядра?
Большое спасибо.