Asp.net
由於文件路徑太長,網站發布失敗
我正在嘗試從供應商那裡發布一個網站項目,該供應商的某些文件的路徑非常長。發布的時候報錯:
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 正在嘗試寫入臨時目錄,並且前綴很長:
C:\Users\cuser\AppData\Local\Temp\WebSitePublish\MidasCMS400v9-1580334405\obj\Debug\Package\PackageTmp\我想我可以
c:\tem通過遵循這個 SO 答案將 VS 重定向到另一個臨時目錄:發佈網站項目時的臨時路徑太長我創建了我的發布配置文件,一旦我打開它,就會出現一個錯誤,表明它
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>當我嘗試發佈時,我會彈出一個名為“檢測到文件修改”的模式框,並顯示“The project YourWebsite has been modified outside the environment”,並詢問我是否要重新載入。在我的錯誤列表中,我繼續收到有關路徑太長的錯誤,因為它沒有嘗試使用
c:\tem我確定的目錄。我需要把這個該死的東西放到伺服器上,我願意任何允許我發布該死的東西的解決方案。我對網站項目模板了解不多,所以如果有更好的方法,請告訴我。
來自<http://forums.asp.net/t/1944241.aspx?Website+publish+failing+due+to+file+path+being+too+long>
在web 項目文件的預設PropertyGroup中添加以下行。
<IntermediateOutputPath>..\Temp\</IntermediateOutputPath>您可能會創建上述路徑 C:\temp 或 ……\Temp (根據需要使其盡可能靠近驅動器的根目錄。
就我而言,沒有 .csproj 或 .vbproj (網站項目文件),但有一個 website.publishproj 文件警告您不要編輯它,但我還是做了,它成功了。