C# office插件的版本不正确
我开发了一个office插件,并在AssemblyInfo.cs中指定了它C# office插件的版本不正确,c#,visual-studio,plugins,visual-studio-2013,vsto,C#,Visual Studio,Plugins,Visual Studio 2013,Vsto,我开发了一个office插件,并在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.0.3.17 为了安装插件,我使用VS
[assembly: AssemblyVersion("1.0.3.17")]
[assembly: AssemblyFileVersion("1.0.3.17")]
但是,在我安装插件之后,添加/删除程序下的版本是1.0.0.0
因此,我检查了在构建过程中创建的VSTO文件(我使用VS2013),发现在assemblyIdentity标记中,版本号是1.0.0.0,而不是1.0.3.17
为了安装插件,我使用VSTOInstaller.exe并将我的VSTO文件传递给它
那么如何更改VSTO文件中的版本呢?或者更一般地说,我应该在哪里指定将在添加/删除部分中显示的版本
谢谢,
Noam要更改VSTOIntaller.exe使用的版本号,必须在“项目属性”页面中更改发布版本 要到达该位置,请右键单击项目,转到“属性”并选择左侧的“发布”选项卡,在那里可以找到公共版本 您不必发布项目,构建过程将获取该信息并将其写入生成的.vsto文件中 在.vsto中,您可以找到XmlElement AssemblyIdentity作为示例:
<assemblyIdentity name="xxxx.vsto" version="1.2.3.4"
<ApplicationVersion>1.2.3.4</ApplicationVersion>
要按照OP的要求通过代码更改此信息,我建议问一个新问题,因为他的目的是在构建过程中对其进行修改,而我只能在构建之前或之后考虑这样做的方法
例如,要在实际插件之外的构建之前对其进行更改,可以使用以下方法:
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);
尝试在“项目属性”“发布”选项卡中更改发布版本。@RandRandRandom如果选择“发布”选项,则“是”,它可以工作,但是,这意味着我需要更改我的安装过程停止使用VSTOInstaller并改用setup.exe是否有选项可以在不发布的情况下更改VSTO文件中的版本?我认为您不必使用“立即发布”按钮,只需更改该值,生成的vsto文件将具有该版本号。只需再次自我测试,它在.vsto文件中正常工作。版本号与发布版本中指定的版本号相同。使用记事本打开你的.vsto并搜索@RandRandom No行。我们讨论的是office插件中的代码,它将在编译时运行,因此在运行时不会发生任何更改。对不起,如果我不清楚的话,英语不是我最喜欢的。