“输出类型为类库的项目不能直接启动”;

我下载了一个c#项目,我想调试这个项目,看看算法实现是如何工作的。

该项目已经在一个文件夹,在这个文件夹内有-

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

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

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

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

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

441532 次浏览

你需要某种应用程序(控制台应用程序是我最喜欢调试的,但WinForm也可以),它使用你的类库。只需添加控制台应用程序或Windows窗体应用程序的新项目(在同一解决方案中),并添加对当前项目的引用。一旦你这样做了,打任何你需要的电话,设置你的断点,然后去城镇。

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

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

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

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

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

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

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

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

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

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

在那里在右手边选择单选按钮与单一启动项目 在这里选择你的项目并应用。

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

只需要去:

解决方案资源管理器—>进入属性—>更改(单一启动项目)从.dll到.web

然后尝试调试它。

你的问题一定会解决的。

这是我的解决方案,因为我找不到“公共属性”选项。

  1. 解决方案资源管理器中选择最顶层的项目。
  2. 进入项目,在上下文菜单中设置为启动项目

    Set as StartUp Project < / p >

参见:输出类型为“类库”的项目不能直接启动

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

解决方案是:

__abc0 > __abc1 > __abc2

将开始动作设置为"Start external program",并使用以下路径:

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

此选项被设置为"Start project",这将不适用于应用程序输出类型类库,从而导致相同的错误。

注意:根据你安装VS的方式不同,你的可能会有所不同。

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

假设你在解决方案中有多个项目。选择要在浏览器中查看的项目并选择“设置为启动项目”。在您以soln为主的多个项目中,visual studio无法识别。这是主要的问题。

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

右击后,你可以看到列表框,并选择&;设置为启动项目 &;选择。

    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)

您可以右键单击类库项目,从下拉菜单中选择初始化交互式c#,这将加载您的项目上下文,您可以在交互式会话中工作。

在我的例子中,原因是解决方案中的一个项目没有加载。它不能正确加载的原因是其中一个文件的文件路径长度太长。删除这个长文件后,我可以重新加载项目,并构建解决方案。

如果问题涉及Azure项目,请确保您有“Azure开发”;工具集已安装,或者当您运行解决方案时,您可能会得到相同的错误。

工具比;获取工具和功能…>勾选Azure开发>旁边的方框;点击安装

如果您的解决方案有一个编译为exe的项目,则接受答案有效。如果您的解决方案没有任何编译到exe的项目,那么您必须使用“启动外部程序”。

VS2019指令:

  1. 右击->主解决方案上的属性
  2. 调试、启动外部程序和添加命令行参数

VS2022指令:

  1. 右击->主解决方案上的属性
  2. 向下滚动到调试
  3. 调试比;一般比;打开调试启动配置文件UI
  4. 左键点击左上角的“new”图标,选择“executable”
  5. 根据VS2019填写(选择exe并添加命令行参数)
  6. 当单击start按钮时,首先选择您创建的概要文件

上面提供的答案都没有帮助我解决这个错误,这是解决我的问题。

  1. 右键单击解决方案并选择“properties”,在我的案例中是“sintctech . data”。
  2. 选择“应用”部分。
  3. 检查您选择的输出类型。如果是“Windows应用程序”,请更改为“控制台应用程序”。

enter image description here

  1. 重新构建后,问题应该会得到解决。