私は、約 1 年前までこのマシンで頻繁に使用していた VS2010 を実際にインストールしていましたが、昨年はあまり使用していませんでした。以前はすべてのプロジェクトを問題なくビルドしていましたが、最後の数か月前に使用した後、それを開いてソリューションをビルドしようとしましたが、出力ファイルを準ランダムな場所に作成するように見えるため、ビルドに失敗しましたハードドライブ。
この問題のトラブルシューティングを行うために、まったく新しい WinForms プロジェクトを作成し、テンプレートのコードを 1 行も変更せずにビルドしました。VSは喜んでビルドを宣言しましたが、実際のソリューションを悩ませているように見える同じ問題が見られます(実際には、合計で約160のプロジェクト(C#、一部のC ++)を合計する4〜5のソリューションで構成されています:「ターゲット」という名前のディレクトリ.sln ファイルと同じフォルダーに作成されます。そのフォルダー内にソリューションと同じ名前の別のフォルダーがあり、その中に bin フォルダー (さらにその中に Debug および Release) フォルダーがあります。
フォルダ構成はこちら
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\target
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall.sln
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\target\Test VS after reinstall
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\target\Test VS after reinstall\bin
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\target\Test VS after reinstall\bin\Debug
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\target\Test VS after reinstall\bin\Release
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\target\Test VS after reinstall\bin\Debug\Test VS after reinstall.exe
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\target\Test VS after reinstall\bin\Debug\Test VS after reinstall.pdb
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\bin
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Form1.cs
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Form1.Designer.cs
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Program.cs
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Properties
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Test VS after reinstall.csproj
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\bin\Debug
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\bin\Debug\Test VS after reinstall.vshost.exe
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug\GenerateResource.read.1.tlog
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug\GenerateResource.write.1.tlog
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug\TempPE
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug\Test VS after reinstall.csproj.FileListAbsolute.txt
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug\Test VS after reinstall.exe
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug\Test VS after reinstall.pdb
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug\Test_damn_VS_after_reinstall.Properties.Resources.resources
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Properties\AssemblyInfo.cs
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Properties\Resources.Designer.cs
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Properties\Resources.resx
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Properties\Settings.Designer.cs
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Properties\Settings.settings
1 行目と 3 行目から 8 行目が正しくないように見えることがわかります。
私の実際のソリューションでは、すべてのソリューションとプロジェクトが 1 つの共通フォルダーにビルドするように構成され、すべて相対パス (ビルド プロパティの出力ターゲット) で構成されているため、大きな違いが生じます。すべての参照が台無しになっているため、さまざまなプロジェクトがハード ドライブのさまざまな部分に蓄積され、もちろん何も正しくビルドされません。
Win7SP1 x64、VS2010 Ultimate SP1 で実行しています。
また、ビルド前の手順を使用していくつかのマクロ (展開可能なビルド変数) をエコーすると、マクロが正しいフォルダーに解決されないことがわかります。おもしろいのは、Visual Studio がそれが何になるかについて 1 つのことを示していることです (プロジェクト プロパティ、ビルド イベント、ビルド前、ビルド前の編集、マクロ ボタン)。そこには、次のようになることが示されています。
Outdir: bin\Debug
TargetPath: C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\bin\Debug\Test VS after reinstall.exe
ただし、ビルドが実際に実行され、ビルド前のステップが次のように定義されている場合:
echo OutDir: $(OutDir)
echo TargetPath: $(TargetPath)
出力は次のとおりです。
------ Build started: Project: Test VS after reinstall, Configuration: Debug x86 ------
OutDir: C:\Users\{user}\documents\visual studio 2010\Projects\Test VS after reinstall\target\Test VS after reinstall\bin\Debug\
TargetPath: C:\Users\{user}\documents\visual studio 2010\Projects\Test VS after reinstall\target\Test VS after reinstall\bin\Debug\Test VS after reinstall.exe
Test VS after reinstall -> C:\Users\{user}\documents\visual studio 2010\Projects\Test VS after reinstall\target\Test VS after reinstall\bin\Debug\Test VS after reinstall.exe
Visual Studio で何が起こっているのか、何かアイデアはありますか?