代码之家  ›  专栏  ›  技术社区  ›  BG100

未能发布ASP.NET网站项目-尝试写入临时文件夹时访问被拒绝

  •  1
  • BG100  · 技术社区  · 14 年前

    我正在尝试将我的网站发布到本地文件夹。我的解决方案中有两个网站,其中一个发布没有问题,但另一个失败并在输出窗口中生成:

    ------ Build started: Project: SSODAL, Configuration: Debug Any CPU ------
    SSODAL -> D:\SourceCode\Infrastructure\Single Sign On\1.1\Source\SSODAL\bin\Debug\SSODAL.dll
    ------ Build started: Project: http://localhost:8000/, Configuration: Debug .NET ------
    Pre-compiling Web Site
    : Publication (web): Access to the path 'C:\Users\bgolden\AppData\Local\Temp\~58f9\' is denied.
    
    Pre-compilation Complete
    ------ Skipped Publish: Project http://localhost:8000/, Configuration: Debug .NET ------
    
    ========== Build: 1 succeeded or up-to-date, 1 failed, 0 skipped ==========
    ========== Publish: 0 succeeded, 0 failed, 1 skipped ==========
    

    我正在使用Visual Studio 2008。在Internet上很少有这种错误的例子,最接近的匹配表明这与模拟有关,但这里我不使用模拟。另外,我以管理员身份运行Visual Studio。

    以前有人见过这个吗?

    谢谢, 本

    3 回复  |  直到 13 年前
        1
  •  2
  •   Jason Berkan whiteproud    14 年前

    今天我自己也遇到了这个问题,它让我吃惊,因为几天前我才发布了这个网站。但是,对于我来说,另一个团队成员向web.config文件添加了模拟,所以我的问题与模拟相关(googling暗示)。

    为了解决这个问题,我将模拟用户的权限添加到了我的目录中:

    C:\documents and settings\[用户名]\local settings\temp

    …问题消失了。我会说这违背了你需要这样做的逻辑,但正如其他搜索所暗示的,这是必要的。

    希望有帮助!

        2
  •  1
  •   BG100    14 年前

    我自己解决了这个问题(或者更确切地说是解决了这个问题),将temp文件夹移动到用户区域之外的另一个路径(例如c:\tmp)。

    我通过更改两个用户环境变量tmp和temp来实现这一点:

    • 右键单击计算机图标
    • 单击属性
    • 高级系统设置
    • 环境变量。 (在Windows 7上)
        3
  •  0
  •   colinbashbash    13 年前

    解决方法:卸载KB2446708

    注意:卸载关键的Windows更新可能是一个坏主意。不过,它将解决这个问题。