protected override async Task CreateProjectCodeProviderFromSourceAsync(string source, AssemblyName assemblyName) { if (this.ProjectProviders.ContainsKey(assemblyName)) { var message = string.Format("Same assembly name used in more than one project: {0}", assemblyName); Console.WriteLine(message); return; //throw new Exception(message); } var provider = await AsyncProjectCodeProvider.CreateFromSourceAsync(source, assemblyName, this); this.ProjectProviders.Add(assemblyName, provider); }
protected override async Task CreateProjectCodeProviderAsync(string projectPath, AssemblyName assemblyName) { if (this.ProjectProviders.ContainsKey(assemblyName)) { var message = string.Format("Same assembly name used in more than one project: {0}", assemblyName); Console.WriteLine(message); return; //throw new Exception(message); } var provider = await AsyncProjectCodeProvider.CreateFromProjectAsync(projectPath, this); lock (this.ProjectProviders) { //// TODO: Hack! remove these lines! //if (this.ProjectProviders.ContainsKey(assemblyName)) //{ // var oldProvider = this.ProjectProviders[assemblyName]; // this.ProjectProviders.Remove(assemblyName); //} this.ProjectProviders.Add(assemblyName, provider); } }