如何通过 Nuget 将特定文件夹从 Razor Class 库复制到目标位置?
How to copy specific folder from a Razor Class Library to the destination via Nuget?
我在 .NET 5.0 中创建了一个 Razor class 库项目
我想制作一个 NuGet
包,其中包含 Areas
文件夹
因此,无论何时安装此软件包,目标中的整个文件夹及其所有文件都将以相同的名称进行复制。
如何通过dotnet pack
命令打包整个Areas
文件夹?
试试这个:
1)在项目文件夹的build
文件夹下创建一个<packages_id>.props
文件。在你这边,它应该被命名为 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
.
下的所有文件
除了,还有.
我在 .NET 5.0 中创建了一个 Razor class 库项目
我想制作一个 NuGet
包,其中包含 Areas
文件夹
因此,无论何时安装此软件包,目标中的整个文件夹及其所有文件都将以相同的名称进行复制。
如何通过dotnet pack
命令打包整个Areas
文件夹?
试试这个:
1)在项目文件夹的build
文件夹下创建一个<packages_id>.props
文件。在你这边,它应该被命名为 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
.
除了,还有