.NET Core 3.1类库项目报CS5001缺少静态Main方法如何处理?
问题原因
你当前的配置中存在冲突:作为单元测试项目,依赖的Microsoft.NET.Test.Sdk包默认会自动生成适配测试框架的入口Program文件,而你在项目配置中手动加了<GenerateProgramFile>false</GenerateProgramFile>关闭了自动生成逻辑,同时项目本身没有自定义的Main入口方法,所以编译器会抛出缺少入口点的错误,和项目是不是类库类型无关。
解决方法
- 首选方案:直接删除
.csproj文件中<GenerateProgramFile>false</GenerateProgramFile>这行配置,清理项目后重新生成即可。OutputType=Library和测试项目的现有基础配置本身没有问题,不需要修改。 - 备用方案:如果你确实有自定义测试入口的需求必须关闭自动生成Program文件,可以在项目中手动添加一个
Program.cs文件,写入最简入口代码即可:
namespace Tutorials_UnitTest { class Program { static void Main(string[] args) { // 如有自定义测试初始化逻辑可写在此处 } } }
内容的提问来源于stack exchange,提问作者shelbypereira
相关产品推荐
相关产品推荐

