私のソリューションをビルドすることによって生成された DLL を bin フォルダーから別のフォルダーにコピーする必要があるプロジェクトに取り組んでいます。どちらも私のコンピューターの C ドライブにあります。これを実現するために xcopy を使用するバッチ ファイルを作成しました。
xcopy /s /y /q "C:\Users\scogan\Documents\Visual Studio 2012\Projects\Organizr\Server\bin\Debug\Organizr.Services.dll" "C:\inetpub\wwwroot\AppServer\bin\"
xcopy /s /y /q "C:\Users\scogan\Documents\Visual Studio 2012\Projects\Organizr\Server\bin\Debug\Organizr.Services.pdb" "C:\inetpub\wwwroot\AppServer\bin\"
ここで、次の場所にあるこのファイルを何度も繰り返してみました。
C:\Users\scogan\Desktop\CopyFiles.bat
したがって、ビルド後のイベント コマンド ラインは次のようになります。
call C:\Users\scogan\Desktop\CopyFiles.bat
デスクトップのフォルダにある 2 つのテキスト ファイルを使用して、このバッチ ファイルを単独で実行しましたが、問題なく動作しました。また、コピーする必要のあるファイルをそのまま実行しましたが、それも正常に機能します。ただし、これをビルド後のイベントとして実行しようとすると、次の出力が得られます。
1> Organizr -> C:\Users\scogan\Documents\Visual Studio 2012\Projects\Organizr\Client\bin\Debug\Organizr.exe
1> File not found - Organizr.Services.dll
1> 0 File(s) copied
1> 0 File(s) copied
1> File not found - Organizr.Services.pdb
1>c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(4291,5): error MSB3073: The command "call C:\Users\scogan\Desktop\CopyFiles.bat" exited with code 4.
調査したところ、エラー コード 4 は「初期化エラーが発生しました。十分なメモリまたはディスク領域がないか、コマンド ラインで無効なドライブ名または無効な構文を入力した」ことを意味することがわかりました。
また、MSB3073 とは何かを調べましたが、そこで役立つ情報はあまり見つかりませんでした。だから、私の質問は、私が間違っていることは何ですか? 絶対パスはそれを台無しにしていますか? ここで何か助けていただければ幸いです。