private void AddImportStatementForVS2013(ImportLocation location, string relativeTargetPath) { NuGetVS.ProjectHelper.DoWorkInWriterLock( EnvDTEProject, VsHierarchyUtility.ToVsHierarchy(EnvDTEProject), buildProject => MicrosoftBuildEvaluationProjectUtility.AddImportStatement(buildProject, relativeTargetPath, location)); // notify the project system of the change UpdateImportStamp(EnvDTEProject, true); }
private async Task AddImportStatementForVS2013Async(ImportLocation location, string relativeTargetPath) { await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); await NuGetVS.ProjectHelper.DoWorkInWriterLockAsync( EnvDTEProject, VsHierarchyUtility.ToVsHierarchy(EnvDTEProject), buildProject => MicrosoftBuildEvaluationProjectUtility.AddImportStatement(buildProject, relativeTargetPath, location)); // notify the project system of the change UpdateImportStamp(EnvDTEProject); }
private void AddImportStatement(string targetsPath, ImportLocation location) { // Need NOT be on the UI Thread MicrosoftBuildEvaluationProjectUtility.AddImportStatement( EnvDTEProjectUtility.AsMSBuildEvaluationProject(VsProjectAdapter.FullName), targetsPath, location); }
internal static void AddImportStatement(EnvDTE.Project project, string targetsPath, ImportLocation location) { // Need NOT be on the UI Thread MicrosoftBuildEvaluationProjectUtility.AddImportStatement(AsMSBuildProject(project), targetsPath, location); }
public static void AddImportStatement(EnvDTEProject project, string targetsPath, ImportLocation location) { MicrosoftBuildEvaluationProjectUtility.AddImportStatement(AsMSBuildProject(project), targetsPath, location); }
public override void AddImport(string targetPath, ImportLocation location) { // For VS 2012 or above, the operation has to be done inside the Writer lock if (String.IsNullOrEmpty(targetPath)) { throw new ArgumentNullException(CommonResources.Argument_Cannot_Be_Null_Or_Empty, "targetPath"); } var root = EnvDTEProjectUtility.GetFullPath(EnvDTEProject); string relativeTargetPath = PathUtility.GetRelativePath(PathUtility.EnsureTrailingSlash(root), targetPath); if (VSVersionHelper.IsVisualStudio2012) { EnvDTEProjectUtility.DoWorkInWriterLock(EnvDTEProject, buildProject => MicrosoftBuildEvaluationProjectUtility.AddImportStatement(buildProject, relativeTargetPath, location)); EnvDTEProjectUtility.Save(EnvDTEProject); } else { AddImportStatementForVS2013(location, relativeTargetPath); } }