首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >envdte配置管理器项目StartOptions

envdte配置管理器项目StartOptions
EN

Stack Overflow用户
提问于 2017-04-04 14:52:36
回答 1查看 264关注 0票数 1

我正在编写一个带有envdte / envdte80的envdte80控制台应用程序(两者都没有经验),以便在一个新的Visual实例中打开一个项目。在这个新实例中,我试图通过控制台应用程序更改Project.StartOptions。

当我试图加载ConfigurationManager时,我收到了这个异常:"System.InvalidOperationException",“操作由于对象的当前状态而无效”。

我的守则:

代码语言:javascript
复制
using EnvDTE;
using EnvDTE80;
using System;

namespace AutomationProject
{
    class Program
    {
        static void Main(string[] args)
        {
            ...
            EnvDTE80.DTE2 dte;
            object obj = null;
            System.Type t = System.Type.GetTypeFromProgID("VisualStudio.DTE.14.0", true);
            System.Threading.Thread.Sleep(1000);
            // Attempt to create an instance of envDTE. 
            obj = System.Activator.CreateInstance(t, true);

            // Cast to DTE2.
            dte = (EnvDTE80.DTE2)obj;
            dte.MainWindow.Visible = true;
            //dte.MainWindow.Activate();
            //dte.UserControl = true;
            dte.ExecuteCommand("File.OpenProject", projectLocation + projectName);

            //dte.ExecuteCommand("Project.StartOptions", "-break -lib:ModuleName -exec:TestName");
            // Get a reference to the solution2 object.
            System.Threading.Thread.Sleep(1000);
            Solution2 soln = (Solution2)dte.Solution;
            Project proj = soln.Projects.Item(1);
            try
            {
                dte.Solution.SolutionBuild.SolutionConfigurations.Item(1).Activate();
                ConfigurationManager configmgr;
                Configuration config;
                if (dte.Solution.Projects.Count > 0)
                {
                    configmgr = dte.Solution.Projects.Item(1).ConfigurationManager;
                    config = proj.ConfigurationManager.ActiveConfiguration;
                    config.Properties.Item("StartArguments").Value = "command line arguments";
                ...
                }
            ...
            }
        ...
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-05 14:14:49

解决了

项目是一个可执行文件,这就是它不能初始化ConfigurationManager的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43210682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档