问题标签 [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.
tfs - Nuget/Assembly 版本控制 - 即使没有任何变化,我是否应该增加版本?
我有几个项目的解决方案,每个项目都建立在 tfs 服务器上并打包到单独的 nuget 包中。
当我在构建服务器上运行构建时,会创建并发布新版本的 nuget 包。我对所有软件包都使用了相同的自动递增版本号。
即使该特定项目中没有任何变化,我是否应该创建新版本的包?
只有在实际项目(或其依赖项之一)发生更改时,是否有任何工具或文章可以帮助我发布新包?有人这样做吗?
编辑:
在我的解决方案中,我有项目( *格式project(references) -> Package Name
):
- A -> 包裹A
- B(A) -> 包 B(包 A)
- C -> 包C
- 集成测试(A、B、C)
和共享 version.txt。
当我在构建服务器上更改项目 C 构建时,所有包都在构建服务器上用 version.txt 重新打包并发布。
然后我有不同的解决方案,消耗这些包。
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 包并读取了引用,但无济于事。
根据注册表,机器上安装了以下 .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
有谁知道这里发生了什么?
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?
c# - OldVersion="0.0.0.0-xxxx" 在 WebConfig 文件中不接受
我在我的网络配置文件中给出了这个以接受版本范围,但我得到了以下异常。
visual-studio - Visual Studio 添加另一个次要版本号
我使用与程序集和文件版本链接的文件版本控制。
目前,我已经使用了 4 个可用的数字(主要、次要、内部版本号、修订版)。
我想知道是否可以将另一个“补丁”版本附加到文件版本中。可能吗?我怎么能那样做?注意:手动是可以的,因为我只会在非常特殊的情况下使用它
visual-studio - MSBuild:如何从 AssmeblyInfo.cs 中读取程序集版本和文件版本?
使用 MSBuild 脚本,我们如何从 AssemblyInfo.cs 中获取 AssmeblyVersion 和 FileVersion?
c# - 为 AddIn 使用特定的程序集
我为现有应用程序 (C#) 创建了一个插件。AddIn 使用 DevExpress-Library。我的 AddIn 也使用它 - 但使用了更新的版本。我需要更新版本,因为有些功能我只需要在新版本中可用。
应用程序目录结构是:
应用程序的 DevExpress-Assemblies 位于应用程序目录中。我的插件(带有较新版本)的这个位于插件目录中。现在看来我的插件正在使用从应用程序(旧版本程序集)加载的插件。我可以配置(可能在 myaddin.dll.config 中)myaddin.dll 应该始终使用正确版本的 addin-Directory 中的 DevExpress-Assemblies 吗?
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 库。我不知道从哪里开始。这是一个合适的策略吗?我不确定如何最好地处理这种情况。我的应用程序的多个版本唯一与引用的库不同,对我来说似乎很笨拙。
我找到的大部分信息都与支持多个框架、同时处理下游同一库的两个版本的需求或需要同时加载两者有关。我找不到有关如何处理我的特殊情况的信息。
c# - 使用cs-script库在运行时编译代码时如何指定程序集信息?
我正在使用 CSScriptLibrary 在运行时创建程序集。一切正常,但我生成的程序集没有所需的程序集信息。
如果我在代码字符串中包含程序集信息属性(在每个 C# 项目的 AssemblyInfo.cs 中找到),编译将失败并出现“重复属性错误”。
这是我创建程序集的代码:
如何指定程序集版本以使“compiledResultAssembly”不在版本 0.0.0.0 中?
CSScriptLibrary 的版本是 3.11.1.0。
提前致谢
编辑 08.07.2019
我找到了解决方案。CSScriptLibrary 在某些时候注入了一个 AssemblyDescription 属性,这会导致“重复属性”错误。
要指定程序集版本信息,只需使用以下脚本代码设置:
请注意,程序集属性必须是代码中的第一件事,不能放在其他任何地方。