我开发了一个办公室插件,并在AssemblyInfo.cs
指定了
[assembly: AssemblyVersion("1.0.3.17")]
[assembly: AssemblyFileVersion("1.0.3.17")]
但是,在我安装插件后,添加/删除程序下的版本为1.0.0.0
所以我检查了在构建过程中创建的VSTO文件(我使用VS2013),并在assemblyIdentity
标记内看到版本号是1.0.0.0
(而不是{{} 1}})..
为了安装插件,我使用1.0.3.17
并将我的VSTO文件传递给它..
那么如何更改VSTO文件中的版本?或者更一般地说 - 我应该在哪里指定将在“添加/删除”部分中显示的版本?
谢谢, 诺姆
答案 0 :(得分:1)
要更改VSTOIntaller.exe
使用的版本号,您必须更改项目属性页中的Publish Version
。
要在Right Click
上Project
转到Properties
并选择左侧的Publish
标签,您会找到Public Version
。
您不必发布项目,构建过程将获取该信息并将其写入生成的.vsto
文件中。
在.vsto
中,您可以找到XmlElement
AssemblyIdentity
作为示例:
<assemblyIdentity name="xxxx.vsto" version="1.2.3.4"
您还可以在项目文件中找到该信息(C#为*.csproj
),您会在其中找到XmlElement
ApplicationVersion
作为示例:
<ApplicationVersion>1.2.3.4</ApplicationVersion>
要通过代码更改此信息,因为OP希望我建议提出一个新问题,因为他打算在构建过程中修改它,我只能想到在构建之前或之后执行此操作的方法。 / p>
例如,要在实际插件之外的构建之前更改它,您可以使用以下内容:
var file = @"xxxx.csproj";
var xDoc = XDocument.Load(file);
var ns = xDoc.Root.Name.Namespace;
xDoc.Element(ns + "Project")
.Element(ns + "PropertyGroup")
.Element(ns + "ApplicationVersion").Value = "1.2.3.5";
xDoc.Save(file);