我正试图发布一个供应商的网站项目,该供应商的一些文件路径长得离谱.发布时,错误为:

The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.

当我发布时,Visual Studio 2012 Update 3正在try 写入临时目录,并且前缀相当长:

 C:\Users\cuser\AppData\Local\Temp\WebSitePublish\MidasCMS400v9-1580334405\obj\Debug\Package\PackageTmp\

我想我可以按照下面的回答将VS重定向到位于c:\tem的另一个临时目录:Temp path too long when publishing a web site project

我创建了我的发布配置文件,一旦打开它,就会出现一个错误,表明WebPublishMethod不是PropertyGroup的元素.不管怎样,我更新了文件,使其看起来像这样:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <LastUsedBuildConfiguration>Debug</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <publishUrl>C:\Sites\MidasPublish</publishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
    <AspnetCompileMergeIntermediateOutputPath>c:\tem\</AspnetCompileMergeIntermediateOutputPath>
  </PropertyGroup>
</Project>

当我try 发布时,我得到一个标题为"检测到文件修改"的模态框弹出窗口,并显示消息"项目YourWebsite已在环境外进行了修改",并询问我是否要重新加载.在我的错误列表中,我继续收到关于路径太长的错误,因为它没有try 使用我标识的c:\tem目录.

我需要把这个该死的东西放到服务器上,我准备好了任何可以让我发布这个该死的东西的解决方案.我对网站项目模板了解不多,所以请告诉我是否有更好的方法.

推荐答案

http://forums.asp.net/t/1944241.aspx?Website+publish+failing+due+to+file+path+being+too+long

Add the following line in default PropertyGroup of web project file.

<IntermediateOutputPath>..\Temp\</IntermediateOutputPath>

你可以 Select 上面的路径C:\temp或......\Temp(根据需要)使其尽可能靠近驱动器的根.

就我而言,没有.csproj或.vbproj(网站项目文件),但有一个网站.publishproj文件警告你不要编辑它,但我还是编辑了,它成功了.

Asp.net相关问答推荐

调用context.Users和context.Set User有什么区别?

ASP.NET MVC forEach 循环仅返回 1 个值

Linq 将复杂类型聚合成一个字符串

系统日期时间?与 System.DateTime

在 DataTextField 中组合两个字段.这可能吗?

Directory.Exists 不适用于网络路径

如何从 URI 中删除 PROTOCOL

UseSqlServer 方法缺少 MVC 6

免费的 ASP.Net 和/或 CSS 主题

如何在 ASP.NET 中仅在调试模式下执行代码

MVC 3视图中的当前上下文中不存在名称'HTML'

单独装配和路由中的控制器

为什么 HttpWebRequest 会抛出异常而不是返回 HttpStatusCode.NotFound?

IISExpress 找不到使用 Visual Studio 2013 运行 localhost 的 ssl 页面

ASP.NET MVC 和 httpRuntime executionTimeout

StyleBundle 索引超出了数组的范围

IronRuby死了吗?

使用 FileUpload Control 获取文件的完整路径

ModelClientValidationRule 冲突

新的 csproj 文件 struct 可以与 ASP.NET Framework 项目一起使用吗?