如您在下图中所见,我的NuGet包包含标准的C#类、与razor文件合并的部分C#类(位于“Components”目录下)以及单文件组件(位于“SVG_Icons”目录下)。
默认情况下,以下目录将被包含在NuGet包内:
- Components
- Exceptions
- Helpers
然而,“SVG_Icons”目录并不会被包含进来(因为它仅包含单文件组件)。尽管我指定了如下代码片段:
<ItemGroup>
<Compile Include="SVG_Icons/**/*.razor" />
</ItemGroup>
但这还不够,因为看起来C#编译器会尝试将.razor
文件当作普通的.cs
文件来编译。我还需做些什么呢?
这里是一个SVG图标示例文件:
@using YamatoDaiwa.Frontend.Components.Abstractions
@implements ISupportsFlexibleExternalCSS_ClassesSpecifyingForRootElement
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 20 20"
class=@(((ISupportsFlexibleExternalCSS_ClassesSpecifyingForRootElement)this).rootElementSpaceSeparatedExternalCSS_Classes)
>
<path d="M10 0a10 10 0 1010 10A10 10 0 0010 0zM8.47 14.74l-.09-.09-4.05-4.05 1.22-1.23 2.92 2.91 5.89-5.9 1.23 1.23z"></path>
</svg>
@code {
[Microsoft.AspNetCore.Components.Parameter]
public string? rootElementModifierCSS_Class { get; set; } = null;
[Microsoft.AspNetCore.Components.Parameter]
public string[]? rootElementModifierCSS_Classes { get; set; } = null;
[Microsoft.AspNetCore.Components.Parameter]
public string? rootElementSpaceSeparatedModifierCSS_Classes { get; set; } = null;
}