我想要建立一个测试ClickOnce服务器,让用户可以同时运行生产版本和测试版本。这种做法可行吗?
我最初尝试在AssemblyInfo.cs
文件中使用以下内容,并在ClickOnce部署中更改名称,但所有这些只是用测试版本覆盖了用户的生产版本。同样地,当他们回到生产服务器时,也会发生同样的情况。
#if DEBUG
[assembly: AssemblyTitle("Product Name - Test")]
#else
[assembly: AssemblyTitle("Product Name")]
#endif
我认为我还应该澄清一下,这两个部署位置彼此不同且位于不同的服务器上。
更新
我也尝试根据调试模式设置清单的GUID,但仍然无法正常工作(下面使用虚拟GUID)。
#if DEBUG
[assembly: Guid("AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA")]
#else
[assembly: Guid("BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB")]
#endif
这两个有什么区别?安装程序似乎将它们视为两个单独的程序,因为我会得到每个程序的安装确认。但是,当我安装第二个时,“添加/删除程序”只看到后者,尽管前者仍然存在于磁盘上,因为当我稍后重新安装它时,它只是简单地运行,然后添加/删除程序会切换回前者的名称。