发布.Net Core Web Api项目,( Framework Depended Deployment
)
如果我定位Full Framework
即net456,则会在net462
bin\Release
文件夹中发布所有框架DLL
WebApp.csproj
<PropertyGroup>
<TargetFramework>net462</TargetFramework>
</PropertyGroup>
2.如果我定位Core 1.1
即netcoreapp1.1,这将仅在netcoreapp1.1
bin\Release
文件夹中发布应用程序DLL
WebApp.csproj
<PropertyGroup>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
这种行为的原因是什么?
答案 0 :(得分:1)
您可能正在查找错误的文件夹,发布的输出应该在bin\Release\netcoreapp1.1\publish
。
正常的构建输出不包含dll,因为.NET Core可以从全局NuGet包缓存中查找引用的DLL。 .runtimeconfig.json
将在您的计算机上指定此缓存的位置,因此不需要为每个构建复制DLL。
此外,在.NET Core 2.0中,您将用于ASP.NET Core应用程序的大多数NuGet包都是.NET Core 2.0中包含的运行时包存储的一部分,因此您只会发布不属于它的程序集这家商店。 由于此存储不适用于.NET Framework,因此此机制不能用于.NET Framework应用程序,并且所有程序集都是已发布输出的一部分。