Quantcast
Channel: かずきのBlog@hatena
Viewing all articles
Browse latest Browse all 1387

Azure Bot Services の Web App Bot で作成したボットのソースをダウンロードしてビルドしていると「**」というフォルダーが出来る

$
0
0

こんなやつです。

f:id:okazuki:20190417133622p:plain

ちなみにビルドを重ねていくとパスの長さに関するエラーが出ます。

原因

何のためなのか調べてないのですが、EchoBot の csproj ファイルには 以下のような定義が含まれています。

<Import Project="PostDeployScripts\IncludeSources.targets"Condition="Exists('PostDeployScripts\IncludeSources.targets')" /><Import Project="..\PostDeployScripts\IncludeSources.targets"Condition="Exists('..\PostDeployScripts\IncludeSources.targets')" />

プロジェクトの PostDeployScripts フォルダーの IncludeSources.targets を見てると以下のような定義があります。

<None Include="**\*.csproj"><CopyToOutputDirectory>Always</CopyToOutputDirectory></None>

こいつが csproj ファイルをビルドの度に延々と bin の下にコピーし続けていって最終的に限界を迎えるとパスの長さのエラーになるという感じみたいです。

対処方法

bin フォルダー以下は問答無用で除外しましょう。こんな風に書き換えます。

<None Include="**\*.csproj"Exclude="bin\**\*"><CopyToOutputDirectory>Always</CopyToOutputDirectory></None>

これでソリューションエクスプローラーから謎のフォルダーは消えます。 ビルドエラーにまで進展してしまった人はプロジェクトの bin と obj を消しましょう。


Viewing all articles
Browse latest Browse all 1387

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>