相关疑难解决方法(0)

相当于dotnet core/csproj中的AssemblyInfo

由于dotnet核心移回到.csproj格式,因此有一个新的自动生成MyProject.AssemblyInfo.cs,其中包含.

[assembly: AssemblyCompany("MyProject")]
[assembly: AssemblyVersion("1.0.0.0")]
Run Code Online (Sandbox Code Playgroud)

请注意,每次构建时都会自动重新生成.以前该文件位于/ obj /目录中,现在它似乎只在内存中,因为在磁盘上找不到该文件并且单击错误消息不会打开任何文件.

这是错误消息: 在此输入图像描述

由于它们在那里定义,我无法在经典中定义它们AssemblyInfo.cs.

我在哪里/如何定义项目的公司和版本?

assemblyinfo visual-studio .net-core visual-studio-2017

199
推荐指数
6
解决办法
7万
查看次数

设置.NET Core项目的版本号 - CSPROJ - 而不是JSON项目

此问题与设置.NET Core项目的版本号非常相似,但不相同.在编写(1.1)和VS2017时,使用最新的稳定版.NET Core,.NET Core已从基于JSON的项目文件切换到CSPROJ文件.

所以 - 我想要做的是建立一个CI环境,我希望能够在构建之前修改某些内容,以使用正确的版本号标记我的构建.

如果我使用这样的属性旧(SharedAssemblyInfo.cs技巧):

[assembly: AssemblyFileVersion("3.3.3.3")]
[assembly: AssemblyVersion("4.4.4.4")]
Run Code Online (Sandbox Code Playgroud)

某处项目时,我得到的
CS0579 - Duplicate 'System.Reflection.AssemblyFileVersionAttribute'

CS0579 - Duplicate 'System.Reflection.AssemblyVersionAttribute'
错误的时候建设.

在深入挖掘它时,我发现在构建过程中有一个看起来像这样的文件(在构建之前它不存在)\obj\Debug\netcoreapp1.1:

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using System;
using System.Reflection;

[assembly: System.Reflection.AssemblyCompanyAttribute("TestApplication")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("Package Description")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.1.99.0")] …
Run Code Online (Sandbox Code Playgroud)

versioning continuous-integration .net-core asp.net-core

48
推荐指数
7
解决办法
3万
查看次数

如何使用AssemblyInfoTask更改程序集版本号?

我正在尝试自动化为所有DLL设置版本的过程,花了一些时间后我才开始了解AssemblyInfo最有可能实现的任务.

所以我继续安装它,特别是版本1.0.51130.0.

安装后,我手动添加的Import标签(通过卸载每个项目)的AssemblyInfoTask.cspoj文件(该溶液具有大于35个PROJ文件).

<Import Project="$(MSBuildExtensionsPath)\Microsoft\AssemblyInfoTask\Microsoft.VersionNumber.Targets"/>
Run Code Online (Sandbox Code Playgroud)

接下来我修改了Microsoft.VersionNUmber.Target将在path:中安装的文件C:\Program Files\MSBuild\Microsoft\AssemblyInfoTask,并修改了以下部分:

<!-- Properties for controlling the Assembly Version -->
<PropertyGroup>
    <AssemblyMajorVersion>4</AssemblyMajorVersion>
    <AssemblyMinorVersion>0</AssemblyMinorVersion>
    <AssemblyBuildNumber></AssemblyBuildNumber>
    <AssemblyRevision></AssemblyRevision>
    <AssemblyBuildNumberType>DateString</AssemblyBuildNumberType>
    <AssemblyBuildNumberFormat>01MMdd</AssemblyBuildNumberFormat>
    <AssemblyRevisionType>AutoIncrement</AssemblyRevisionType>
    <AssemblyRevisionFormat>00</AssemblyRevisionFormat>
</PropertyGroup>

<!-- Properties for controlling the Assembly File Version -->  
<PropertyGroup>
    <AssemblyFileMajorVersion>4</AssemblyFileMajorVersion>
    <AssemblyFileMinorVersion>0</AssemblyFileMinorVersion>
    <AssemblyFileBuildNumber></AssemblyFileBuildNumber>
    <AssemblyFileRevision></AssemblyFileRevision>
    <AssemblyFileBuildNumberType>DateString</AssemblyFileBuildNumberType>
    <AssemblyFileBuildNumberFormat>01MMdd</AssemblyFileBuildNumberFormat>
    <AssemblyFileRevisionType>AutoIncrement</AssemblyFileRevisionType>
    <AssemblyFileRevisionFormat>00</AssemblyFileRevisionFormat>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

接下来,我将assemblyInfo.cs文件的版本设置1.0.0.0为每个项目.最后我保存并关闭它,重新打开解决方案并构建.它就像一个冠军!

现在什么要的是定制版本来4.0.1053.1这里10是今年指标是2010年的部分53代表周数,最后1表示版本号.

如何使用AssemblyInfoTask 实现这一目标?我发现了几个帖子,AssemblyInfo在Build Extension Pack中可以使用新版本的Task. …

msbuild msbuild-task

19
推荐指数
3
解决办法
4万
查看次数

如何自动增加MVC 6版本号?

以前版本的ASP.NET允许您通过"项目属性"自动增加版本号.我怎么能在MVC 6中这样做?

asp.net-core-mvc asp.net-core

11
推荐指数
1
解决办法
3452
查看次数

Visual Studio 2019 还原完成的 nuget 循环

我的 C# 多项目解决方案在使用 VS2019 profesional 16.5.5 和 16.5.4 时遇到问题。它正确地编译、测试和执行,但在后台我不断恢复 nuget 包,每隔几秒钟完成一次。CPU 接近 100%。

我已经尝试过Update-Package -reinstallnuget locals all --clear(来自: 如何在 Visual Studio 2017 中修复此 NuGet Restart 循环?),更新 V​​S,删除我的.vs文件夹,清理解决方案,再次从 git 检出项目,甚至重新启动。似乎没有任何帮助。

该项目有几个主要项目:两个控制台,一个 AspNetCore,一个 WPF。它们使用标准 2.0 或共享 C# 项目中的公共库。

输出窗口中的包管理器日志有数百个条目,例如:

Time Elapsed: 00:00:00.7441577
========== Finished ==========

Time Elapsed: 00:00:00.8448774
========== Finished ==========

Time Elapsed: 00:00:00.8410551
========== Finished ==========

Time Elapsed: 00:00:00.7351174
========== Finished ==========

Time Elapsed: 00:00:00.7997720
========== Finished ==========

Time Elapsed: 00:00:00.9367757
========== Finished ========== …
Run Code Online (Sandbox Code Playgroud)

nuget visual-studio-2019

10
推荐指数
2
解决办法
1060
查看次数

在ASP .NET Core中自动增加版本号

我正在使用ASP.NET Core开发REST API,并希望版本号自动递增.这曾经很容易通过AssemblyInfo文件中的以下模式:[assembly:AssemblyVersion("1.6.*")].

我已经阅读了一些使用gulp或其他第三方工具来完成此任务的建议,就像这里的答案一样

但我真的需要第三方工具才能自动增加版本号吗?是否已不再支持内置功能?感觉我在这里遗漏了一些东西.

c# .net-core asp.net-core

9
推荐指数
1
解决办法
1969
查看次数

如何自动增加 .NET Core 项目的版本(例如“1.0.*”)?

在旧的 .NET 框架中,您可以设置[assembly: AssemblyVersion("1.0.*")]并且编译器会自动增加版本。

使用 .NET 核心,我尝试了各种方法,但无法让它自动递增。

  • 我已经按照类似的问题在 .csproj 中添加了<Deterministic>False</Deterministic>和。代码编译但版本保持不变<AssemblyVersion>1.0.*</AssemblyVersion>
  • 我尝试过同样的事情,但使用此处描述的<Version>1.0.*</Version>标记。这实际上将产品版本设置为 1.0.*(带星号)。
  • 我已经在属性属性/包页面中设置了程序集版本。好像也没什么。

它似乎都不起作用。我错过了一些简单的东西吗?这只是一个标准的 .NET Core Web 项目。

.net c# versioning .net-core asp.net-core

8
推荐指数
1
解决办法
2486
查看次数