gpt4 book ai didi

c# - 单击一次临时文件夹

转载 作者:行者123 更新时间:2023-11-30 16:51:46 26 4
gpt4 key购买 nike

我正在开发一个使用 ClickOnce 部署的 Winforms 应用程序。在 clickonce 部署中,有两个 exe,我称之为 viewer.exe 和 editor.exe。

查看器中有一个选项可以将一堆文件转储到一个临时目录,然后指示 editor.exe 启动并打开该目录中的所有文件。

我的问题是我无法在 ClickOnce 文件夹结构中找出一个位置,让我可以创建一个临时文件夹来将这些文件转储到其中。每当我尝试在 ApplicationDeployment.CurrentDeployment.DataDirectory 中创建子目录时,我都会收到一条错误消息:

[I don't] have permissions to access that directory.

ClickOnce 框架中是否有任何地方可以让我创建一个文件夹以将文件转储到其中?

最佳答案

I don't have permissions to access that directory.

由于通常默认启用的代码访问安全 (CAS),ClickOnce 应用程序通常会减少权限。

MSDN:

Code access security is a mechanism in the .NET Framework that helps limit the access that code has to protected resources and operations. You should configure the code access security permissions for your ClickOnce application to use the zone appropriate for the location of the application installer. Tell me more

您的应用是完全信任还是部分信任应用?

尝试将您的应用程序设置为完全信任

enter image description here

隔离存储

或者,您可能需要考虑使用独立存储 (IS) 来存储用户或应用程序数据。 IS 通常无需完全访问 CAS 即可工作。

例如为当前正在执行的程序集获取与用户有关的唯一存储区域,请尝试:

var storage = IsolatedStorageFile.GetUserStoreForAssembly()

...或者如果您想要一个存储区域而不管用户尝试:

var storage= IsolatedStorageFile.GetMachineStoreForAssembly()

更多

关于c# - 单击一次临时文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33536089/

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