最近在开发中使用了.NET8 Razor类库项目,但是惊讶的发现Debug时,Debug文件夹中不包含Packages中引入的文件,本以为是非常小的问题,但是被困住了竟然足足4个小时。
其实它也本就是个非常非常小的问题……
只需引入<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>即可。
例如下方
<Project Sdk="Microsoft.NET.Sdk.Razor">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<AddRazorSupportForMvc>true</AddRazorSupportForMvc>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> 在这里添加
</PropertyGroup>
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="ClosedXML" Version="0.102.3"/>
<PackageReference Include="EPPlus" Version="7.2.2" />
</ItemGroup>
</Project>
生成后,Debug文件夹下内容如下。
如果想要详细了解可参考一下内容。
编译器选项 - 输出选项 - C# reference | Microsoft Learn
Microsoft.NET.Sdk 的 MSBuild 属性 - .NET | Microsoft Learn