reg*_*gie 5 c# deployment msbuild clickonce .net-3.5
我有一个使用C#在.NET framework 3.5,Service Pack 1中开发的Windows窗体应用程序.可以基于开发数据库和生产数据库发布应用程序.我正在使用MSBuild社区任务来发布我的应用程序.将应用程序发布到不同位置(即开发位置和生产位置)时,我不会遇到任何问题.
问题:
将开发应用程序安装到我的机器后,我无法安装生产应用程序.它给我一个错误说:
您无法从此位置启动应用程序TEST,因为它已从其他位置安装
问题:机器如何理解我正在尝试安装相同的应用程序?我假设它有某种应用程序ID.如果是这种情况,我可以根据位置覆盖相关值.(DEV或PROD)
在我的应用程序的项目文件中发布时的当前代码:
<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>
Run Code Online (Sandbox Code Playgroud)
应用程序的发布就像一个魅力,并指向相关的数据库.我现在要做的就是能够在同一台机器上安装开发应用程序和生产应用程序,而不会出现任何错误.
问题:一次应用程序与另一次应用程序的区别是什么?
所以我终于想出了如何部署同一个应用程序的不同版本.应用程序清单文件缺少部署元素的deploymentProvider属性.
在应用程序清单中添加部署元素的部署提供程序属性后,我能够从各个位置安装我的应用程序.但问题在于它覆盖了以前安装的应用程序.对于这个问题,我按照本教程将开发应用程序与生产应用程序区分开来.
现在一切都很好.:)
| 归档时间: |
|
| 查看次数: |
12447 次 |
| 最近记录: |