gpt4 book ai didi

clickonce - 未使用 ClickOnce 应用程序部署的数据文件

转载 作者:行者123 更新时间:2023-12-04 07:09:41 27 4
gpt4 key购买 nike

我有一个使用 ClickOnce 部署的 WinForms 应用程序。在应用程序项目中,我将一些文件标记为“内容”,它们在“发布”设置的“应用程序文件”对话框中也标记为“数据文件”。我还有一些标记为“包括自动”的内容文件。

当我发布时,安装应用程序,然后在启动时立即执行它,并出现 DirectoryNotFoundException(完整堆栈跟踪如下)。

查看应用程序文件夹,我可以找到所有标记为“包括自动”的文件,它们与可执行文件整齐地放置在一起。虽然没有安装标记为“数据文件”的文件(我已经检查了可执行文件夹和数据文件夹)。

请注意,发布和安装都是从我本地计算机上的文件夹中完成的,而不是通过网站完成的。

如果我在所有内容文件中从“数据文件”更改为标准包含,则一切都会变得很有吸引力。

我正在运行(喘气)Windows XP SP3 和.Net 3.5 SP1。

System.IO.DirectoryNotFoundException 未处理
Message="系统找不到指定的路径。(来自 HRESULT 的异常:0x80070003)"
来源=“mscorlib”
堆栈跟踪:
在 System.Deployment.Internal.Isolation.IActContext.SetApplicationRunningState(UInt32 dwFlags, UInt32 ulState, UInt32& ulDisposition)
在 System.ActivationContext.SetApplicationState(ApplicationState s)
在 System.AppDomain.SetupDomainForApplication(ActivationContext activationContext, String[] activationData)
在 System.AppDomain.SetupApplicationHelper(证据提供的SecurityInfo、证据创建者SecurityInfo、ApplicationIdentity appIdentity、ActivationContext activationContext、String[] activationData)
在 System.AppDomain.SetDomainManager(证据提供的SecurityInfo、证据创建者SecurityInfo、IntPtr parentSecurityDescriptor、Boolean publishAppDomain)
在 System.AppDomain.SetDefaultDomainManager(String fullName, String[] manifestPaths, String[] activationData)
内部异常:

最佳答案

经过更多的反复试验,我发现当我的数据文件位于子文件夹的子文件夹中时会发生 DirectoryNotFound 异常。如果数据文件位于项目根目录或第一级子文件夹中,则一切正常。

这个问题似乎也与这样一个事实有关,即在其中一些子文件夹中,我将一些文件标记为“包含”,将一些文件标记为“数据”。这可能会在部署过程中造成一些困惑,因为数据文件没有被部署。

最后,为了达到我想要的效果,我必须做的是卸载该应用程序的任何先前版本。接下来,像这样在项目中组织我的数据文件:

\Testfiles\Filegroup1\data1.txt
\Testfiles\Filegroup1\data2.txt
\Testfiles\Filegroup2\moredata1.txt
\Testfiles\Filegroup2\moredata2.txt

然后我将每个文件夹中的所有文件标记为数据。现在一切都部署得很好,而且加载程序不会在启动时崩溃。

关于clickonce - 未使用 ClickOnce 应用程序部署的数据文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/585920/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com