使用名称很长的文件发布项目

时间:2015-04-02 19:39:37

标签: asp.net .net visual-studio visual-studio-2013

我正在尝试在Visual Studio 2013中发布一个项目,该项目包含一些名称很长的文件,包括路径位置。我将项目移动到更靠近我的根C:\驱动器的位置,这允许它进行编译,但在发布时,它会尝试将文件复制到%appdata%文件夹,这会导致名称超出限制。

这是我得到的错误:

Error   10  Copying file node_modules\grunt-bower\node_modules\bower\node_modules\bower-registry-client\node_modules\bower-config\node_modules\optimist\node_modules\minimist\.travis.yml to C:\Users\jake\AppData\Local\Temp\WebSitePublish\WebProject--1320288221\obj\Debug\Package\PackageTmp\node_modules\grunt-bower\node_modules\bower\node_modules\bower-registry-client\node_modules\bower-config\node_modules\optimist\node_modules\minimist\.travis.yml failed. 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.     0   0   WebProject

有没有办法调整此项目的名称或临时复制到哪里,以便我能够从Visual Studio发布?

2 个答案:

答案 0 :(得分:5)

@Britton引用Temp path too long when publishing a web site project

  

将此添加到您的发布配置文件以修改其临时目录   包/发布:

<AspnetCompileMergeIntermediateOutputPath>c:\shortPath\</AspnetCompileMergeIntermediateOutputPath>

或根据Website publish failing due to file path being too long(引用@Jason Beck@VeeKayBee):

  

在Web项目文件的默认PropertyGroup中添加以下行:

<IntermediateOutputPath>..\Temp</IntermediateOutputPath>

答案 1 :(得分:0)

除了上面的Amnon Shochot's answer,我还必须从另一个线程应用Roland's answer

我的发布路径(在.pubxml中)现在看起来像这样:

<publishUrl>c:\publish\proj\</publishUrl>
<IntermediateOutputPath>c:\publish\inter\</IntermediateOutputPath>
<_PackageTempDir>c:\publish\package</_PackageTempDir>

您必须注意以下事项:

Delete all existing files

重要提示:如果设置了此选项,请确保不要将您的临时文件嵌套在 publishUrl 目录中,因为它会清除 _PackageTempDir 文件,即使发布成功也会导致发布失败。