Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 private void AddImportStatement(string targetsPath, ImportLocation location)
 {
     // Need NOT be on the UI Thread
     MicrosoftBuildEvaluationProjectUtility.AddImportStatement(
         EnvDTEProjectUtility.AsMSBuildEvaluationProject(VsProjectAdapter.FullName), targetsPath, location);
 }
Esempio n. 4
0
 internal static void AddImportStatement(EnvDTE.Project project, string targetsPath, ImportLocation location)
 {
     // Need NOT be on the UI Thread
     MicrosoftBuildEvaluationProjectUtility.AddImportStatement(AsMSBuildProject(project), targetsPath, location);
 }
Esempio n. 5
0
 public static void AddImportStatement(EnvDTEProject project, string targetsPath, ImportLocation location)
 {
     MicrosoftBuildEvaluationProjectUtility.AddImportStatement(AsMSBuildProject(project), targetsPath, location);
 }
Esempio n. 6
0
        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);
            }
        }