Я создаю свой собственный шаблон проекта для C#, который содержит больше проектов внутри.C# пользовательский шаблон проекта
Я добавил в него свой собственный мастер. И это отлично работает.
Но, когда я пытаюсь поставить в некоторых из моих проектов пользовательских пар, добавлены заменами словаря, в моей библиотеке мастера я получаю исходное значение (не заменить) в моем проекте (он остается как «$ ConnectionString $ ").
Например, если добавить этот кусок кода в RunStarted метод:
private string _connectionString = "Lorem ipsum for example";
public void RunStarted(object automationObject, Dictionary<string, string>replacementsDictionary, WizardRunKind runKind, object[] customParams)
{
replacementsDictionary.Add("$connectionString$", _connectionString);
}
И в моем web.config:
<connectionStrings>
<add name="DAL.Database.Properties.Settings.MyConnectionString" connectionString="$connectionString$" providerName="System.Data.SqlClient" />
</connectionStrings>
И даже в моем файле .vstemplate Я вижу, что этот файл помечен для проверки и изменения параметров:
<ProjectItem ReplaceParameters="true" OpenInEditor="true" TargetFileName="Web.config">Web.config</ProjectItem>
Примечание: Это работает только если я ставлю жёстко прописанные значение в .vstemplate файл, как это, например:
<CustomParameters>
<CustomParameter Name="$connectionString$" Value="Some dummy value" />
</CustomParameters>
Но это не то, что я хочу. И теперь мне интересно, что может быть проблемой?