问题标签 [assemblyversions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
569 浏览

tfs - Nuget/Assembly 版本控制 - 即使没有任何变化,我是否应该增加版本?

我有几个项目的解决方案,每个项目都建立在 tfs 服务器上并打包到单独的 nuget 包中。

当我在构建服务器上运行构建时,会创建并发布新版本的 nuget 包。我对所有软件包都使用了相同的自动递增版本号。

  1. 即使该特定项目中没有任何变化,我是否应该创建新版本的包?

  2. 只有在实际项目(或其依赖项之一)发生更改时,是否有任何工具或文章可以帮助我发布新包?有人这样做吗?

编辑:

在我的解决方案中,我有项目( *格式project(references) -> Package Name):

  • A -> 包裹A
  • B(A) -> 包 B(包 A)
  • C -> 包C
  • 集成测试(A、B、C)

和共享 version.txt。

当我在构建服务器上更改项目 C 构建时,所有包都在构建服务器上用 version.txt 重新打包并发布。

然后我有不同的解决方案,消耗这些包。

0 投票
2 回答
297 浏览

c# - 引用的 Nuget 包在查找系统类型时出错

使用 NuGet 将第三方库添加到项目后,我遇到了几个奇怪的错误。该项目针对 .NET 4.5.2。我抱怨标准系统类型不是正确版本的错误,例如

CS0012:在未引用的程序集中定义了类型“System.Collections.Generic.IEnumerable`1”。您必须添加对程序集“System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”的引用。

我已经清理了项目文件夹,删除了 bin 文件夹,重新安装了 NuGet 包并读取了引用,但无济于事。

该库是Remotion.Linq

根据注册表,机器上安装了以下 .NET 版本

v2.0.50727 2.0.50727.4927 SP2

v3.0 3.0.30729.4926 SP2

v3.5 3.5.30729.4926 SP1

v4
客户端 4.6.01038 完整版 4.6.01038 v4.0
客户端 4.0.0.0

有谁知道这里发生了什么?

0 投票
1 回答
475 浏览

package - 从 AssemblyInfo 创建 Nuget 包

在我的 .net 项目中,具有 assemblyinfo.cs 文件包含的版本为“6.22.3.00151”,当我使用 NuGet(我正在使用 nuget cli)创建包时,使用版本“6.22.3.151”创建的最终包前导 2 0 被消除. 如何制作与程序集版本相同的 nuget 包?

我还观察到,虽然我的 assemblyinfo.cs 包含以下 AssemblyFileVersion 信息,

[程序集:AssemblyVersion("6.11.0.00152")] [程序集:AssemblyFileVersion("6.11.0.00152")]

编译后我可以看到在此处输入图像描述

所以即使 AssemblyFileVersion 有 00152 为什么它只显示 152。我应该怎么做才能让它看起来 00152?

0 投票
0 回答
254 浏览

c# - OldVersion="0.0.0.0-xxxx" 在 WebConfig 文件中不接受

我在我的网络配置文件中给出了这个以接受版本范围,但我得到了以下异常。

0 投票
1 回答
9 浏览

visual-studio - Visual Studio 添加另一个次要版本号

我使用与程序集和文件版本链接的文件版本控制。

目前,我已经使用了 4 个可用的数字(主要、次要、内部版本号、修订版)。

我想知道是否可以将另一个“补丁”版本附加到文件版本中。可能吗?我怎么能那样做?注意:手动是可以的,因为我只会在非常特殊的情况下使用它

0 投票
1 回答
3635 浏览

visual-studio - MSBuild:如何从 AssmeblyInfo.cs 中读取程序集版本和文件版本?

使用 MSBuild 脚本,我们如何从 AssemblyInfo.cs 中获取 AssmeblyVersion 和 FileVersion?

0 投票
1 回答
943 浏览

c# - 无法嵌入 C++/CLR 程序集版本号

我在我的 C# WinForms 应用程序 (.NET 3.5) 中使用 C++ CLR DLL。我已经根据找到的所有说明设置了程序集信息,但是在 VS2015 中查看我的 C# 应用程序时,DLL 元数据一直显示“0.0.0.0”。

以下是我的 CPP 和结果的一些屏幕截图:

资源文件 - app.rc。它还包括如下所示的“version.h”。

应用程序.rc

版本.h:

在此处输入图像描述

当我看到 DLL 文件属性时,我可以看到以下内容:

在此处输入图像描述

但最后,当我查看从托管 CPP 生成的 C# 代码时,我可以看到它是“0.0.0.0”:

在此处输入图像描述

我在这里缺少什么吗?谢谢。

0 投票
0 回答
12 浏览

c# - 为 AddIn 使用特定的程序集

我为现有应用程序 (C#) 创建了一个插件。AddIn 使用 DevExpress-Library。我的 AddIn 也使用它 - 但使用了更新的版本。我需要更新版本,因为有些功能我只需要在新版本中可用。

应用程序目录结构是:

应用程序的 DevExpress-Assemblies 位于应用程序目录中。我的插件(带有较新版本)的这个位于插件目录中。现在看来我的插件正在使用从应用程序(旧版本程序集)加载的插件。我可以配置(可能在 myaddin.dll.config 中)myaddin.dll 应该始终使用正确版本的 addin-Directory 中的 DevExpress-Assemblies 吗?

0 投票
1 回答
262 浏览

c# - 支持多个版本的第三方库

我创建了一个需要第三方 API 的 C# 应用程序 (MyAppV1)。我的应用程序需要使用此 API 的多个版本,但一次只能使用一个版本。我已经设置了我的解决方案来更改不同构建配置的引用和使用语句,并且我创建了多个可执行文件,每个文件都针对不同的 API 版本。

目前我有这种情况:

  • MyAppV1_ThirdPartyV1.exe 使用 ThirdPartyV1.dll
  • MyAppV1_ThirdPartyV2.exe 使用 ThirdPartyV2.dll
  • MyAppV1_ThirdPartyV2_5.exe 使用 ThirdPartyV2.dll (他们没有更改软件次要版本的库名称)
  • MyAppV1_ThirdPartyV3.exe 使用 ThirdPartyV3.dll

我希望能够维护版本列表,可能在 App.config 中并在运行时加载适当的 dll 库。我不知道从哪里开始。这是一个合适的策略吗?我不确定如何最好地处理这种情况。我的应用程序的多个版本唯一与引用的库不同,对我来说似乎很笨拙。

我找到的大部分信息都与支持多个框架、同时处理下游同一库的两个版本的需求或需要同时加载两者有关。我找不到有关如何处理我的特殊情况的信息。

0 投票
0 回答
111 浏览

c# - 使用cs-script库在运行时编译代码时如何指定程序集信息?

我正在使用 CSScriptLibrary 在运行时创建程序集。一切正常,但我生成的程序集没有所需的程序集信息。

如果我在代码字符串中包含程序集信息属性(在每个 C# 项目的 AssemblyInfo.cs 中找到),编译将失败并出现“重复属性错误”。

这是我创建程序集的代码:

如何指定程序集版本以使“compiledResultAssembly”不在版本 0.0.0.0 中?

CSScriptLibrary 的版本是 3.11.1.0。

提前致谢


编辑 08.07.2019

我找到了解决方案。CSScriptLibrary 在某些时候注入了一个 AssemblyDescription 属性,这会导致“重复属性”错误。

要指定程序集版本信息,只需使用以下脚本代码设置:

请注意,程序集属性必须是代码中的第一件事,不能放在其他任何地方。