Visual studio 如何自动重命名";申请文件;ClickOnce部署中的文件夹
我们目前正在使用Visual Studio构建ClickOnce部署包,但我们希望重命名“应用程序文件”,因为我们使用的Web服务器不支持空格 我们发现,如果直接进入.application文件,可以修改指向的路径,还可以手动重命名文件夹Visual studio 如何自动重命名";申请文件;ClickOnce部署中的文件夹,visual-studio,clickonce,Visual Studio,Clickonce,我们目前正在使用Visual Studio构建ClickOnce部署包,但我们希望重命名“应用程序文件”,因为我们使用的Web服务器不支持空格 我们发现,如果直接进入.application文件,可以修改指向的路径,还可以手动重命名文件夹 是否有人知道一种自动化的方法,无论是使用MageUI还是其他工具?将一个批处理脚本放在一起为我们进行更改是很有诱惑力的。部署也使用未签名的文件,因为我们不需要担心证书(它只是一个内部应用程序)因为似乎没有人知道这个问题的答案,我已经找到了自己的方法。我已经创建
是否有人知道一种自动化的方法,无论是使用MageUI还是其他工具?将一个批处理脚本放在一起为我们进行更改是很有诱惑力的。部署也使用未签名的文件,因为我们不需要担心证书(它只是一个内部应用程序)因为似乎没有人知道这个问题的答案,我已经找到了自己的方法。我已经创建了一个powershell脚本。请注意,这仅适用于未签名的清单
gci -Recurse -include *.application | ForEach-Object { [System.IO.File]::WriteAllLines($_.FullName, [System.IO.File]::ReadAllText($_.FullName).Replace("Application Files", "ApplicationFiles")) }
gci -recurse | Where {$_.psIsContainer -eq $true} | Where {$_.Name -eq "Application Files"} | ForEach-Object { $_.MoveTo($_.FullName.Replace("Application Files", "ApplicationFiles")) }
我的powershell并不令人惊讶,因此可能有更好的方法来实现它,但这正是我想到的。首先,手动尝试此方法 将应用程序发布到文件夹(将发布位置设置为C:\Publish,并正确设置安装URL,如) 然后进入并将应用程序文件重命名为C:\publish中的ApplicationFile 转到C:\publish\ApplicationFiles\yourapp\u a\u b\u C\u d\文件夹并删除yourapp.application。(相信我,如果你不这样做,那么当你重新添加文件时,mageui会崩溃) 运行MageUI(它位于c:\program files\microsoft SDK\windows\v7.0a\bin或v6.0a\bin中,具体取决于正在运行的VS版本) 在MageUI中,单击“打开”,查找c:\publish\ApplicationFiles\yourapp\u a\u b\u c\u d\yourapp.exe.manifest并打开它(其中a\u b\u c\d是您的版本,yourapp是您的应用程序名) 你应该看看名字和东西。点击文件。确保选中“在填充时添加部署扩展…”,然后单击“填充”(尽管考虑到这一点,所有扩展都应该具有该扩展,除非您在VS中对其进行了更改)。这将把文件夹中的所有文件添加到应用程序清单/ 保存并签署应用程序清单 然后再次单击“打开”,打开c:\publish\yourapp.application 点击“申请参考”。在右侧,单击选择清单。浏览到您刚刚编辑的文件(C:\publish\ApplicationFiles\yourapp\u a\u b\u C\u d\yourapp.exe.manifest)。这将更新部署清单,以便在正确的应用程序清单中找到文件列表。保存并签署部署清单(yourapp.application) 将文件夹复制到Web服务器,它应该可以工作 现在,如果这对您有效,您可以使用Mage命令替换mageui内容,并可能执行一些简单的脚本将文件复制到新文件夹,或者将“应用程序文件”重命名为“应用程序文件”
如果你需要,我可以为你提供法师命令 你是怎么做到的?当我重命名文件夹时(appengine和spaces有一个bug!),我得到以下错误:+Manifest XML签名无效对象的数字签名未经验证。不确定您是否正在使用App Engine(因为您提到不支持空格),但我通过url编码处理程序url来使用空格:-url:/App/Application%20Files static\u dir:App/Application files您需要禁用清单文件上的签名生成。你是对的,我正在使用AppEngine,添加更多的处理程序URL似乎确实有效。有更多的细节