Moh*_*our 4 .net c# nuget visual-studio-2017
如下图所示,当使用VS 2017创建带有代码修复(.NET Standard)的Analyzer类型的项目时,在项目的属性选项卡中有程序包版本,程序集版本和程序集文件版本。
这3个版本是否相互关联?另外,当我在项目中进行更改时,应该如何更改版本号?例如,如果我修复了错误,添加了新规则等。
这3个版本是否相互关联?另外,当我在项目中进行更改时,应该如何更改版本号?例如,如果我修复了错误,添加了新规则等。
在回答此问题之前,我们需要了解有关AssemblyVersion和的一些信息AssemblyFileVersion。
程序集版本:这是.Net在运行时查看的版本,用于加载程序包和查找类型。
程序集文件版本:定义操作系统报告给其他应用程序(如Windows资源管理器)的版本。
您可以查看Rémyvan Duijkeren的答案以获取更多详细信息。
但是,NuGet不使用任何一个。它使用第三个版本控制属性:AssemblyInformationalVersion- 程序集的产品版本。
它使用此属性,因为似乎没有其他人关心它。信息版本未由OS或.Net使用,这意味着NuGet可以使用它。但是此版本控制属性已从AssemblyInfo.cs文件中删除,因为它们不适用于语义版本控制。
当您使用VS 2017使用代码修复(.NET Standard)使用分析器类型的项目时,这些属性设置已移至.csproj文件中。默认情况下,它们不会显示,但是您可以从Visual Studio 2017的项目属性“程序包”选项卡中找到它们:
保存后,可以在以下位置找到这些值MyProject.csproj:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net461</TargetFramework>
<Version>1.2.3.4</Version>
<Authors>Author 1</Authors>
<Company>Company XYZ</Company>
<Product>Product 2</Product>
<PackageId>MyApp</PackageId>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<FileVersion>3.0.0.0</FileVersion>
<NeutralLanguage>en</NeutralLanguage>
<Description>Description here</Description>
<Copyright>Copyright</Copyright>
<PackageLicenseUrl>License URL</PackageLicenseUrl>
<PackageProjectUrl>Project URL</PackageProjectUrl>
<PackageIconUrl>Icon URL</PackageIconUrl>
<RepositoryUrl>Repo URL</RepositoryUrl>
<RepositoryType>Repo type</RepositoryType>
<PackageTags>Tags</PackageTags>
<PackageReleaseNotes>Release</PackageReleaseNotes>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
在文件资源管理器属性信息选项卡中,Version显示为“产品版本”,供NuGet使用。就像版本控制属性:一样AssemblyInformationalVersion。
因此,如果您修复了错误或添加了新规则,则可以更改软件包版本以运送新软件包。
major更改为重大更改,minor更改为向后兼容,而修补程序则修复了一些错误。
至于是否需要修改程序集版本的版本号,可以参考此文档以获取更多详细信息。
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
1394 次 |
| 最近记录: |