Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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
C# Roslyn编译项目生成空程序集_C#_.net_Roslyn - Fatal编程技术网

C# Roslyn编译项目生成空程序集

C# Roslyn编译项目生成空程序集,c#,.net,roslyn,C#,.net,Roslyn,这是一个后续,我已经得到了解决方案,通过几十个帖子的组合 这很容易复制: .csproj: <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>net47</TargetFramework> </PropertyGroup> <ItemGroup> <Folder Include="wwwroot\"

这是一个后续,我已经得到了解决方案,通过几十个帖子的组合

这很容易复制:

.csproj:

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>net47</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Folder Include="wwwroot\" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore" Version="2.0.0" />
    <PackageReference Include="Microsoft.Build" Version="15.3.409" />
    <PackageReference Include="Microsoft.Build.Tasks.Core" Version="15.3.409" />
    <PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="2.3.0-beta1" />
    <PackageReference Include="Microsoft.CodeAnalysis.Common" Version="2.3.1" />
    <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="2.3.1" />
    <PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="2.3.1" />
    <PackageReference Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="2.3.1" />
    <PackageReference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" Version="1.0.7" />
    <PackageReference Include="Microsoft.Net.Compilers" Version="2.3.1" />
  </ItemGroup>
</Project>
加载解决方案后查看WorskSpace,Diagnostics属性上显示一条错误消息:

Msbuild failed when processing the file 'C:\WebApplication1\WebApplication1.csproj' with message: The SDK 'Microsoft.NET.Sdk.Web' specified could not be found.  
根据@DustinCampbell,这还不是一个受支持的场景

根据@DustinCampbell,我通过从
进程调用
dotnet build
解决了这个问题,这还不是一个受支持的场景


我通过从
进程调用
dotnet build
解决了这个问题,对吧。。。那么我怀疑是否真的“解决”了你的问题,而不仅仅是允许你继续下去。:-)您可以尝试在调试器中的
solution.Projects
中匍匐前进,看看是否有明显的问题。那只是随地吐痰;我个人没有使用Roslyn API的经验。您使用的是哪个版本的Roslyn nuget软件包?@m0sa如果您指的是Microsoft.Net.Compilers nuget软件包,它是2.3.1,如果你能提供一个完整的项目,而不仅仅是在这里或那里提供一个片段,那将非常有帮助。@CamiloTerevinto:你是否对其他项目类型感兴趣与诊断方面无关。在提问之前,你应该尽可能多地做诊断工作。此外,您的示例是不完整的-您已经使它花费了比复制所需的更多的工作。完整的代码应该是copy/paste/compile/runnable-一个完整的项目文件和完整的代码实际上不必太大。对。。。那么我怀疑是否真的“解决”了你的问题,而不仅仅是允许你继续下去。:-)您可以尝试在调试器中的
solution.Projects
中匍匐前进,看看是否有明显的问题。那只是随地吐痰;我个人没有使用Roslyn API的经验。您使用的是哪个版本的Roslyn nuget软件包?@m0sa如果您指的是Microsoft.Net.Compilers nuget软件包,它是2.3.1,如果你能提供一个完整的项目,而不仅仅是在这里或那里提供一个片段,那将非常有帮助。@CamiloTerevinto:你是否对其他项目类型感兴趣与诊断方面无关。在提问之前,你应该尽可能多地做诊断工作。此外,您的示例是不完整的-您已经使它花费了比复制所需的更多的工作。完整的代码应该是copy/paste/compile/runnable——一个完整的项目文件和完整的代码实际上不必太大。
Msbuild failed when processing the file 'C:\WebApplication1\WebApplication1.csproj' with message: The SDK 'Microsoft.NET.Sdk.Web' specified could not be found.