Office插件版本不正确

时间:2017-10-30 16:11:08

标签: c# visual-studio plugins visual-studio-2013 vsto

我开发了一个办公室插件,并在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文件中的版本?或者更一般地说 - 我应该在哪里指定将在“添加/删除”部分中显示的版本?

谢谢, 诺姆

1 个答案:

答案 0 :(得分:1)

要更改VSTOIntaller.exe使用的版本号,您必须更改项目属性页中的Publish Version

要在Right ClickProject转到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);