Visual Studio在部署C#应用程序时生成奇数文件树

时间:2014-08-26 20:05:42

标签: c# visual-studio-2012 publish directory

当应用程序是publisehd时,有没有办法控制哪些文件以及如何部署文件?

我正在使用C#编写Windows窗体应用程序。我使用publish函数创建安装文件并安装应用程序。但是,当安装应用程序时,它似乎将文件安装在一堆不同的文件夹中而不是一个地方。我在Windows 8.1上使用Visual Studio 2012。

应用程序正在用户的AppData文件夹中安装,这很好,但从那里树看起来像这样:

AppData\Local\Apps\2.0\Data\XW1K5QEX.XAT\QT90D7HP.HRR\aprs..tion_6e18985c58ead43c_0001.0000_19946cd48dfad6aa\Data\1.0.0.0

此文件夹包含user.config以及所有

AppData\Local\Apps\2.0\VZL1JHLE.0GG\LXJZWQB7.8JG\aprs...exe_6e18985c58ead43c_0001.0000_en_8cf5993e048f7d9e

此文件夹包含两个application.exe.config文件,我认为这些文件具有默认用户设置和应用程序图标。

AppData\Local\Apps\2.0\VZL1JHLE.0GG\LXJZWQB7.8JG\aprs..tion_6e18985c58ead43c_0001.0000_19946cd48dfad6aa

此文件夹似乎包含我需要的所有应用程序文件,但user.config它有application.exe.config的副本和应用程序图标。

AppData\Local\Apps\2.0\VZL1JHLE.0GG\LXJZWQB7.8JG\manifests

最后一个文件夹包含两个.manifest和两个.cdf-ms文件,这些文件也位于上面的文件夹中。

我无法弄清楚为什么要创建这么多文件夹,为什么我有8个.manifest文件.cdf-ms文件,2个图标文件和3个.config文件。

我希望将应用程序安装在一个或两个文件夹中:

AppData\Local\Application Name

并且可能:

AppData\Local\Application Name\Data

那就是它!

我花了几个小时在Google上试图解决这个问题,但我一直在寻找有关如何更改安装Visual Studio的位置的建议,而不是使用Visual Studio创建的应用程序。

如果应用程序正在从项目中删除的项目中安装工件,那么必须有一种方法来清理它。

谢谢!

1 个答案:

答案 0 :(得分:0)

“发布”功能AFAIK适用于Web应用程序。对于Windows窗体应用程序,它会让您创建一个单击部署应用程序,依此类推,并且与Web项目的行为不同。

如果要控制发布的文件以及要访问的文件夹,最好创建部署项目或Wix安装项目。

此外,对于WinForms应用程序,相关文件将被复制到bin文件夹(bin \ debug或bin \ release),因此您可以将该文件夹压缩或压缩或复制以部署应用程序。您甚至可以将其作为Post Build事件(基本上是批处理命令)。