“无法直接启动输出类型为类库的项目”

Posted

技术标签:

【中文标题】“无法直接启动输出类型为类库的项目”【英文标题】:"A project with an Output type of Class Library cannot be started directly" 【发布时间】:2011-03-22 17:50:48 【问题描述】:

我下载了一个 C# 项目,我希望调试该项目以了解算法实现的工作原理。

项目已经进入一个文件夹,在这个文件夹里面有-

    .sln文件包含源文件和.csproj 文件的文件夹

我安装了 Visual Studio 并打开了主文件夹中的 .sln 文件。我成功构建了项目,但是当我尝试调试项目时,我收到以下消息:

无法直接启动输出类型为类库的项目为了调试此项目,请在此解决方案中添加一个引用该库项目的可执行项目。将可执行项目设置为启动项目。

奇怪的是我在任何地方都没有看到 main 函数。

我应该怎么做才能解决这个问题?

【问题讨论】:

【参考方案1】:

您将需要某种使用您的类库的应用程序(控制台应用程序是我最喜欢用于调试的,但 WinForm 可以)。只需添加控制台应用程序或 Windows 窗体应用程序的新项目(在同一解决方案中),然后添加对当前项目的引用。完成后,拨打您需要的任何电话,设置断点,然后前往城镇。

【讨论】:

【参考方案2】:

奇怪的是我在任何地方都没有看到 main 函数。

这正是你的问题。该项目仅创建一个 DLL。它没有可运行的可执行文件。

您将需要添加第二个项目,这是一个引用另一个项目的可执行文件,并在其中调用某些内容。

【讨论】:

嘿詹姆斯,好的,我在同一个解决方案中添加了一个新项目。一个新的 .cs 文件被创建,它有一个 main 函数。现在我应该参考什么。对你的意思的dll?当我右键单击引用选项卡时,我会看到一个添加引用窗口。 导航到项目选项卡。您的解决方案中定义的程序集将可供参考。 是的,完全正确。不要忘记添加特定的使用来使用该库的类。【参考方案3】:

您下载的项目编译成一个 dll 程序集,并提供一组具有实现功能的类。

您应该向您的解决方案添加一个输出类型为控制台应用程序或 Windows 应用程序的新项目(VS 添加项目向导将为您提供不同的项目模板)。

在新添加的项目中,您可以实现逻辑来测试您的类库。

您可以通过以下步骤找到并更改项目的输出类型:

    在解决方案资源管理器中右键单击项目 -> 属性。

    在打开的带有属性的选项卡中选择应用程序,将出现标有输出类型标签的组合框。

【讨论】:

并且不要忘记将新创建的项目设置为启动项目(右键单击新项目↦设置为启动项目) @bugybunny 您的评论是上述答案中缺少的内容! 我很困惑!我创建了一个包含类的新解决方案。然后,我向同一个解决方案添加了一个单元测试项目,向测试项目添加了一个 Windows 窗体,在单元测试中添加了对类的引用。然后我右键单击并将测试项目设置为启动项目。解决方案属性说单元测试项目是单个启动项目。当我尝试调试时,我仍然看到无法直接启动该类的相同错误消息。我错过了什么? (与 2017 年相比)。 啊——我发现了我的错误。我必须在单元测试项目的应用程序选项卡上将单元测试项目的应用程序类型设置为 Windows 窗体。【参考方案4】:

只需右键单击项目解决方案 弹出一个窗口。 展开公共属性。 选择启动项目

在右侧选择带有单一启动项目的单选按钮 在那里选择您的项目并申请。

就是这样。现在保存并构建您的项目。运行项目以查看输出。

【讨论】:

这只有在项目的输出类型不是类库时才有效,对吧? 在项目解决方案上右击>选择属性>弹出一个窗口(解决方案属性页),现在可以看到常用属性【参考方案5】:

只需要走:

Solution Explorer-->Go to Properties --->change(Single Startup project) from.dll to .web

然后尝试调试它。

你的问题一定会解决的。

【讨论】:

【参考方案6】:

这是对我有用的解决方案,因为我找不到“通用属性”选项。

    Solution Explorer中选择您最顶层的项目。

    转到项目,然后在上下文菜单中设置为启动项目

另见:A project with an Output type of Class Library cannot be started directly

【讨论】:

这在 VS 2015 中也适用于我。它必须为我构建一个新的 web.config,然后它又重新启动并运行。 在 Visual Studio 2019 中也为我工作。 右键项目解决方案>选择属性>弹出一个窗口(解决方案属性页),现在可以看到常用属性 那个时候右键菜单不会占用整个屏幕高度来显示:)【参考方案7】:

我在尝试使用 Visual Studio 2013 的实验性实例时遇到了类似的问题。这是针对 vsix 项目(创建片段)。

解决方案是:

在解决方案资源管理器中右键单击项目 > 属性 > 调试

将 Start Action 设置为 "Start external program" 并使用以下路径:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe

此选项设置为"Start project",这对应用程序输出类型类库不起作用,导致同样的错误。

注意:您的安装方式可能会有所不同,具体取决于您安装 VS 的方式。

【讨论】:

【参考方案8】:
1) Right Click on **Solution Explorer**
2) Go to the **Properties** 
3) Expand **Common Properties**
4) Select **Start Up Project**
5) click the radio button (**Single Start_up Project**)
6) select your Project name 
7) Then Debug Your project

【讨论】:

【参考方案9】:

假设您的解决方案中有多个项目。选择您要在浏览器中查看的项目,然后选择'设置为启动项目'。在您的主要项目解决方案中,视觉工作室无法识别。这是主要问题。

【讨论】:

【参考方案10】:

错误解决方案是你已经打开了你的项目但是你错误地选择了另一个类库..这就是这个错误显示的原因......所以你需要做什么你只需选择你的项目然后右键单击你项目

右击后可以看到列表框,选择“设置为启动项目”选项。

【讨论】:

【参考方案11】:
    Right Click on "Solution Explorer" -> "Properties"
    Expand "Common Properties"
    Select "Start Up Project"
    click the radio button "Single Start_up Project"
    select your Project name from the drop down list.

如果在上述步骤后仍然无法正常工作,请尝试此操作。

    Expand solutions explorer.
    Right click on project name -> "Properties"
    Go to "Application" tab
    Select "Output type" 
 From the drop down list select the appropriate type according to your application.
    "Windows application" or
    "Console application"

然后保存(ctrl + S)

尝试调试(F5)

【讨论】:

【参考方案12】:

您可以右键单击类库项目,然后从下拉列表中选择初始化交互式 C#,这将加载您的项目上下文,您可以在交互式会话中使用它。

【讨论】:

【参考方案13】:

就我而言,原因是我的解决方案中的一个项目未加载。它无法正确加载的原因是其中一个文件的文件路径长度太长。删除这个长文件后,我可以重新加载项目并构建解决方案。

【讨论】:

以上是关于“无法直接启动输出类型为类库的项目”的主要内容,如果未能解决你的问题,请参考以下文章

项目集与项目群项目组合的区别

项目集与项目群项目组合的区别

如何描述项目内容

maven项目转成web项目变成多个子项目

项目整体管理

项目整体管理