【发布时间】:2011-07-16 01:41:46
【问题描述】:
我有一个在 .NET framework 3.5, Service pack 1 中使用 C# 开发的 Windows 窗体应用程序。该应用程序可以基于开发数据库和生产数据库发布。我正在使用 MSBuild 社区任务来发布我的应用程序。在将应用程序发布到不同位置(即开发位置和生产位置)时,我不会遇到任何问题。
问题:
-
将开发应用程序安装到我的机器后,我无法安装生产应用程序。它给了我一个错误说:
您无法从该位置启动应用程序 TEST 因为它已经从不同的位置安装了
-
问题:机器如何理解我正在尝试安装相同的应用程序?我认为它有某种应用程序 ID。如果是这种情况,我可以根据位置覆盖相关值。 (开发或生产)
在我的应用程序的项目文件中发布时的当前代码:
<Choose> <When Condition=" '$(BuildEnvironment)' == 'DEV' "> <PropertyGroup> <PublishDir>\\A\B\development\</PublishDir> <BaseConnection>Data Source=SQL-DEV.company.com; Database=TEST;Uid=XYZ;Pwd=ABC;</BaseConnection> </PropertyGroup> </When> <When Condition=" '$(BuildEnvironment)' == 'PROD' "> <PropertyGroup> <PublishDir>\\A\B\production\</PublishDir> <BaseConnection>Data Source=SQL-PROD.company.com;; Database=TEST;Uid=XYZ;Pwd=ABC;</BaseConnection> </PropertyGroup> </When> </Choose>应用程序的发布就像一个魅力,并指向相关的数据库。我现在想做的就是能够在同一台机器上安装开发应用程序和生产应用程序而不会出现任何错误。
问题:一次单击应用程序与另一次单击应用程序有何区别?
【问题讨论】:
标签: c# .net-3.5 deployment msbuild clickonce