asp.net 2.0核心拥有

问题描述:

我使用Visual Studio 2017asp.net 2.0核心拥有

它以NuGet包的引用创建一个新的asp.net 2.0核心的MVC Web应用程序的输出文件夹中的文件Microsoft.VisualStudio.Web.CodeGeneration “Microsoft.VisualStudio.Web.CodeGeneration.Design”(2.0.0),如果我想要支持视图/控制器,它似乎是必需的。 (我需要的功能)

当我发布我的web应用程序时,我不希望看到什么(似乎是)发布到我的输出文件夹的开发依赖项......然而,我有一堆组件如

Microsoft.VisualStudio.Web.CodeGeneration.dll, Microsoft.VisualStudio.Web.CodeGeneration.Templating.dll, Microsoft.VisualStudio.Web.CodeGeneration.Utils.dll

的等

难道我做错了什么? :我怎样才能减少所有这些额外的dll?有一个(Microsoft.CodeAnalysis.Workspaces.dll)是〜2Mb!

尝试在csproj文件中将所有PrivateAssets设置为all,这对我很有用。有一个很好的描述这个问题的thread

<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.2"> 
    <PrivateAssets>all</PrivateAssets> 
</PackageReference>