Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# office插件的版本不正确_C#_Visual Studio_Plugins_Visual Studio 2013_Vsto - Fatal编程技术网

C# office插件的版本不正确

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

我开发了一个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

为了安装插件,我使用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插件中的代码,它将在编译时运行,因此在运行时不会发生任何更改。对不起,如果我不清楚的话,英语不是我最喜欢的。