ChatGPT解决这个技术问题 Extra ChatGPT

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

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

该项目已进入一个文件夹,在此文件夹内有 -

.sln 文件和一个包含源文件和 .csproj 文件的文件夹。

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

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

奇怪的是,我在任何地方都看不到主要功能。

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


c
charwayne

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

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

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

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

在解决方案资源管理器中右键单击项目-> 属性。在打开的带有属性的选项卡中选择应用程序,将有一个标有输出类型标签的组合框。


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

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

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

而已。现在保存并构建您的项目。运行项目以查看输出。


这仅在项目的输出类型不是类库时才有效,对吗?
右键单击项目解决方案>选择属性>弹出一个窗口(解决方案属性页),现在您可以看到常用属性
k
kenorb

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

在解决方案资源管理器中选择您的最顶层项目。转到项目,然后在上下文菜单中设置为启动项目。

另请参阅:A project with an Output type of Class Library cannot be started directly


这在 VS 2015 中也对我有用。它必须为我构建一个新的 web.config,然后它又重新启动并工作。
在 Visual Studio 2019 中也为我工作。
右键单击项目解决方案>选择属性>弹出一个窗口(解决方案属性页),现在您可以看到常用属性
那个时候右键菜单不会占用整个屏幕高度来显示:)
这也对我有用。从VS2019升级到VS2022后,突然出现这个错误。谢谢。
S
Stephan

只需要去:

解决方案资源管理器——>转到属性——>将(单个启动项目)从.dll更改为.web

然后尝试调试它。

你的问题肯定会得到解决。


J
James Curran

奇怪的是,我在任何地方都看不到主要功能。

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

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


嘿詹姆斯,好的,我在同一个解决方案中添加了一个新项目。一个新的 .cs 文件被创建,它有一个 main 函数。现在我应该参考什么。对你的意思的dll?当我右键单击引用选项卡时,我会看到一个添加引用窗口。
导航到项目选项卡。您的解决方案中定义的一组程序集可供参考。
对,就是这样。不要忘记添加特定的使用来使用该库的类。
H
HDJEMAI
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

k
kavinda
    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)


A
AllenG

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


G
Gandhi

在尝试使用 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 的方式。


A
Alexxus

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

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


F
Fardim

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


u
user2063329

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


D
Dean P

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