如何解决如何通过 Nuget 将特定文件夹从 Razor 类库复制到目的地?
我在 .NET 5.0 中创建了一个 Razor 类库项目,如下所示
这样,无论何时安装此软件包,都将使用相同名称复制整个文件夹及其目标中的所有文件。
如何通过 Areas
命令打包整个 dotnet pack
文件夹?
解决方法
试试这个:
1) 在项目文件夹的 <packages_id>.props
文件夹下创建一个 build
文件。在你这边,它应该被命名为 RazorClassLibrary1.props
以便文件可以工作。见this link。
并且如果您的 nuget 包名为 RazorClassLibrary1.1.0.0.nupkg
,则文件应为 RazorClassLibrary1.props
并保持名称与包 ID 相同。
2) 在 RazorClassLibrary1.props
下添加这些:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="CopyFiles" BeforeTargets="Build">
<ItemGroup>
<File Include="$(MSBuildThisFileDirectory)..\Areas\**\*.*"></File>
</ItemGroup>
<Exec Command="xcopy /I/e/d/s/y %(File.Identity) $(ProjectDir)Areas\"></Exec>
</Target>
</Project>
3) 在 RazorClassLibrary1.csproj
文件中添加这些:
<ItemGroup>
<None Include="Areas\**\*.*" Pack="true" PackagePath="Areas"></None>
<None Include="build\RazorClassLibrary1.props" Pack="true" PackagePath="build"></None>
</ItemGroup>
另外,当您安装这个新版本的nuget包时,请clean your nuget caches或删除C:\Users\xxx(current user)\.nuget\packages
下的所有文件。
此外,这里是a similar issue。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。