如何在发布NuGet包之前设置命名空间?

问题描述 投票:0回答:1

我有 2 个 NuGet 包:1 个主要包(YamatoDaiwaCS_Extensions)和 1 个本地化包(

OfficialLocalizations/Japanese
;将来,我计划进行更多本地化)。

为什么我在一个解决方案(和存储库)中有多个项目是因为,一旦实验完成,所有包都必须一致地更新、版本控制和发布。换句话说,它是单一存储库。

如果按原样发布日语本地化包,则将从

JapanesePhoneNumber
命名空间导入该库中的类(例如
Japanese
)。如何制作这个命名空间
YamatoDaiwaCS_Extensions.OfficialLocalizations.Japanese

所需导入的示例:

using YamatoDaiwaCS_Extensions; // Core package
using YamatoDaiwaCS_Extensions.DataMocking; // Core package
using YamatoDaiwaCS_Extensions.Japanese; // Localization package
c# namespaces nuget
1个回答
0
投票

将命名空间放入您的代码中

namespace YamatoDaiwaCS_Extensions {
    // Your classes and code here
}

namespace YamatoDaiwaCS_Extensions.Japanese {
    // Your classes and code here
}

确保项目中的
AssemblyInfo.cs
文件包含正确的程序集信息,包括程序集名称。

[assembly: AssemblyTitle("YourPackage")]
[assembly: AssemblyDescription("Description of YourPackage")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("YourCompany")]
[assembly: AssemblyProduct("YourPackage")]
[assembly: AssemblyCopyright("Copyright © YourCompany")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

更新您的项目文件(.csproj)(正常)

<RootNamespace>YamatoDaiwaCS_Extensions</RootNamespace>

更新您的项目文件 (.csproj)(日语)

<RootNamespace>YamatoDaiwaCS_Extensions.Japanese</RootNamespace>

封装配置

确保生成的 .nupkg 文件包含正确的程序集信息和结构。您可以使用 NuGet Package Explorer 等工具检查 NuGet 包的内容。

最后一步

验证并设置适当的配置后,您可以使用 nuget pack 命令创建 NuGet 包。命名空间信息将是编译后的代码和项目结构所固有的。

nuget pack YamatoDaiwaCS_Extensions.csproj
nuget pack Japanase.csproj
© www.soinside.com 2019 - 2024. All rights reserved.