2011-11-11 12 views
1

のために設定されていないコンフィギュレーションを構築する(I'veタイトルを更新し、私の新たな知見を反映させるために)のTeam Foundation Server 2010の - プロジェクト

私はちょうどTFS2008からTFS2010へのプロジェクトの束を移植されてきたとに実行しました(実際にはいくつか::)特定のプロジェクトの問題。ビルド構成 'Debug'でコンパイルすると、すべてが正常に動作します。しかし、ビルドコンフィグレーション 'Release'でコンパイルすると、 'obj \ debug'に指定されたファイルが見つからないため、リンカエラーが発生します。

エラー:

Task "AL" (TaskId:781) 
... 
ALINK : error AL1047: Error importing file 'c:\Builds\23\...\obj\Debug\someproject.exe' -- The system cannot find the file specified. [C:\Builds\23\...\Release\Sources\...\someproject.csproj] 
    The command exited with code 1. (TaskId:781) 
Done executing task "AL" -- FAILED. (TaskId:781) 

私はチームが情報診断ログを構築し有効にし、次の変数を見つけた:

IntermediateOutputPath = obj\Debug\ 

私の質問は、なぜとき、Debugフォルダ内リンカなりです私はリリース構成の下に構築しています。私は、ソリューションとプロジェクトの構成を検証し、リリースソリューション構成の下には「デバッグ」構成はありません。なぜこれが起こっているか、どのように解決するのか?

ありがとうございます。

!!ボーナス情報

プロジェクトファイルに次の文があります。ビルド設定が未指定の場合、デバッグに設定されていることを確認します。

<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 

私はデフォルトとしてリリースし、それを変更しようとしたと今、私のデバッグチームビルドが失敗し、代わりのOBJ \リリースを指して。したがって、プロジェクトがコンパイルされると、ビルド構成が指定されていないように見えます。どうすればいいの?

答えて

1

問題が見つかりました。 someproject.csprojプロジェクトファイルで定義されたパブリッシュターゲットに対して明示的にビルド設定を設定する必要があります。私は 'Configuration = Release'という行を挿入しました。

<MSBuild ToolsVersion="3.5" Projects="$(SolutionRoot)\...someproject.csproj" 
      Properties="RunCodeAnalysis=false; 
          Configuration=Release; 
          ClrVersion=2.0.50727.0; 
      ApplicationVersion=$(VersionNumber); 
      UpdateUrl=$(DevtestUpdateUrl); 
      InstallUrl=$(DevtestInstallUrl); 
      IsWebBootstrapper=true; 
      PublishDir=$(DropLocation)\$(BuildNumber)\Publish\Update\; 
      SolutionDir=$(SolutionRoot)\Kl******\; 
      DeploymentConfiguration=devtest; 
      SignManifests=true; 
         ManifestCertificateThumbprint=23...23;" 
      Targets="PublishOnly" /> 
関連する問題