private void EnsureDllIsInProject(GenerationEventArgs e) { try { string dll = GetInstallPath(@"smc\lib\Release\NoTrace\statemap.dll"); #if DEBUG // dll = @"C:\Desenvolvimento\c#\SMCVS\smc\lib\Release\NoTrace\statemap.dll"; #endif if (!File.Exists(dll)) { throw new FileNotFoundException("Missing intalled file", dll); } var project = (VSProject)e.ProjectItem.ContainingProject.Object; bool hasRef = project.References.Cast <Reference>().Any( r => r != null && string.Equals(r.Name, "statemap", StringComparison.InvariantCultureIgnoreCase)); if (!hasRef) { Reference dllRef = project.References.Add(dll); dllRef.CopyLocal = true; } } catch (Exception ex) { e.GenerateWarning("Failed to add reference to statemap.dll:" + ex.Message); } }
private void DeleteFile(string filename, GenerationEventArgs e) { try { File.Delete(filename); } catch (Exception ex) { e.GenerateWarning(ex.Message); } }
private void DeleteDir(string dir, GenerationEventArgs e) { try { Directory.Delete(dir, true); } catch (Exception ex) { e.GenerateWarning(ex.Message); } }
private void AddAssemblyDependency(GenerationEventArgs e, VSProject project, string assemblyName, string assemblyLocation, bool copyLocal) { try { bool hasRef = project.References.Cast<Reference>().Any( r => r != null && string.Equals(r.Name, assemblyName, StringComparison.InvariantCultureIgnoreCase)); if (!hasRef) { Reference dllRef = project.References.Add(assemblyLocation); dllRef.CopyLocal = copyLocal; } } catch (Exception ex) { e.GenerateWarning("Failed to add reference to " + assemblyName + ":" + ex.Message); } }