Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在没有“;程序定义了多个入口点”;在Nunit测试中(ASP.NET核心项目,可视化代码)_Asp.net_Api_Nunit_Core - Fatal编程技术网

如何在没有“;程序定义了多个入口点”;在Nunit测试中(ASP.NET核心项目,可视化代码)

如何在没有“;程序定义了多个入口点”;在Nunit测试中(ASP.NET核心项目,可视化代码),asp.net,api,nunit,core,Asp.net,Api,Nunit,Core,我创建了asp.net核心项目-dotnet新web api- 在VisualStudio代码中(甚至没有调试器支持) 具有针对x86系统的c#扩展)。 然后我需要实现Nunit测试。 我在一个项目中使用dotnetnewnunit命令创建了 文件夹以及控制器、存储库、模型文件夹。 然后我在test.csroj中传递了对外部项目的引用。 事实上,我需要通过考试 到我的main.csproj文件 这些将自动创建要使用的依赖项 我的testfixture类文件中的Nunit类 <ItemGro

我创建了asp.net核心项目-
dotnet新web api
- 在VisualStudio代码中(甚至没有调试器支持) 具有针对x86系统的c#扩展)。 然后我需要实现Nunit测试。 我在一个项目中使用
dotnetnewnunit
命令创建了 文件夹以及控制器、存储库、模型文件夹。 然后我在test.csroj中传递了对外部项目的引用。 事实上,我需要通过考试 到我的main.csproj文件 这些将自动创建要使用的依赖项 我的testfixture类文件中的Nunit类

<ItemGroup>
    <PackageReference Include="NUnit" Version="3.11.0"/> 
    <PackageReference Include="NUnit3TestAdapter" Version="3.11.0"/>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0"/>
</ItemGroup>

看来我可以从中删除这些引用 test.csproj,它们是在dotnet new nunit期间创建的(事实上我离开了, 因为如果没有这些复制品,它也可能无法工作)。。。 实际上,这里我用main方法得到了两个自动生成的文件, 除了basic Program.cs文件中的Main之外,我还需要添加注释 在最后一种情况下运行nunit测试。 这似乎是这里的主要问题,我不知道如何开脱。 这个-

//告诉它应该解析CS0017程序定义了多个入口点。使用/main编译以指定包含入口点的类型。
虽然我没有试着用这样的文字

<GenerateProgramFile Condition="'$(GenerateProgramFile)' == ''">true</GenerateProgramFile>
true
正如我所建议的,这与先前的建议相同。 此外,在某些组合中,存在自动生成的测试的依赖性 outerproject obj Main()上的Main(),因此在Program.cs中有注释的Main()无法启动 总的来说。 我也无法添加ExeöMyProject.csproj 因为它是web api,而不是控制台项目。 因此,使用Main()临时免除自动生成文件的唯一一半决定, 并且不注释main()Program.cs was将删除MainProject.csproj中的
然后离开

<ItemGroup>
    <PackageReference Include="NUnit" Version="3.11.0"/>
    <PackageReference Include="NUnit3TestAdapter" Version="3.11.0"/>

。。。 在Test.csproj中包含所有三个项目。 所以要进行dotnet测试并运行dotnet,我需要删除Testsubfolder中的obj文件夹, 或者删除BooksApi\Tests\obj\Debug\netcoreapp2.2中的Tests.Program.cs文件 运行测试后出现的问题???
如何从整体上免除Main的自动生成???

什么是“Microsoft.NET.Test.Sdk”的角色包引用为什么不只使用NUnit3TestAdapter,事实上,前者似乎创建了控制台测试输出和结果。这似乎是一个简单的问题-如何在可视化代码中对asp.NET核心进行单元测试。为什么我也需要主项目文件中的包引用,如何禁用自动生成的文件?如果不是在stackoverflow上,我在哪里可以得到答案?如果没有Visual Studio,没有人为asp.net core创建nunit、xunit和其他测试吗??那么,在VisualStudio2017(csproj配置文件)中如何执行呢??您是否创建它(仅使用dotnet new nunit)并仅从cmd行运行(dotnet test),并且-不使用任何测试Exporer进行创建和运行??在Visual Studio Ide中,使用重复出现的Main()方法自动生成文件可能没有问题?
<GenerateProgramFile Condition="'$(GenerateProgramFile)' == ''">true</GenerateProgramFile>
<ItemGroup>
    <PackageReference Include="NUnit" Version="3.11.0"/>
    <PackageReference Include="NUnit3TestAdapter" Version="3.11.0"/>