Build Manager Лицензионные компоненты
Добрый день
У меня возникают проблемы с классом BuildManager при создании проекта, содержащего файл.licx для стороннего компонента криптона, который я использую.
Мой компилятор написан на.Net 4.5, а целевой проект сборки -.Net 2.0.
Целевой проект выдает следующее сообщение при попытке сборки через менеджер сборки.
Невозможно определить тип 'ComponentFactory.Krypton.Navigator.KryptonNavigator, ComponentFactory.Krypton.Navigator, Версия =2.6.1.0, Культура = нейтральная, PublicKeyToken=[Лицензия]
Он прекрасно работает с Visual Studio, и я поместил компоненты в приложение.Net 4.5, и оно также собирается, поэтому я предполагаю, что проблема в конфликте с компонентами в.Net 2. Я не могу обновить этот проект.
Я надеюсь, что это просто атрибут, необходимый для менеджера сборки, но я не могу найти много документации по нему.
Вот мой код для сборки
String[] args = (String[])e.Argument;
String SolutionFile = args[0];
String TargetPath = args[1];
String LogFilePath = args[2];
ProjectCollection pc = new ProjectCollection();
Dictionary<String, String> GlobalProperty = new Dictionary<String, String>();
BasicFileLogger log = new BasicFileLogger();
log.Parameters = LogFilePath;
log.register();
GlobalProperty.Add("Configuration", "Release");
GlobalProperty.Add("Platform", "Any CPU");
GlobalProperty.Add("OutputPath", TargetPath);
GlobalProperty.Add("AllowUnsafeBlocks", "true");
GlobalProperty.Add("Optimize", "true");
BuildManager.DefaultBuildManager.BeginBuild(new BuildParameters(pc) { MaxNodeCount = Environment.ProcessorCount,Loggers = new List<ILogger>(){log} });
BuildRequestData BuildRequest = new BuildRequestData(SolutionFile, GlobalProperty, null, new string[] { "Clean", "Rebuild" }, null);
BuildSubmission Submission = BuildManager.DefaultBuildManager.PendBuildRequest(BuildRequest);
Stopwatch watch = new Stopwatch();
watch.Start();
Submission.Execute();
while (!Submission.IsCompleted)
{
if (isCancelled || watch.Elapsed==new TimeSpan(0,5,0))
{
e.Cancel = true;
}
worker.ReportProgress(0, "Building");
}
String output = String.Empty;
System.IO.File.WriteAllText(LogFilePath, log.getLogoutput());
BuildManager.DefaultBuildManager.EndBuild();
e.Result = new Docs_Creator.Classes.Build.BuildSuccessArgs(
SolutionName: SolutionFile,
Success: Submission.BuildResult.OverallResult == BuildResultCode.Success,
Error: null);