1

次のエラーが表示されます。

Could not copy the file "obj\x86\Debug\TitleGenerator.exe" because it was not found.

コンパイルしようとすると、意味がありません。私が変更した唯一のことは、問題のデバッグに役立つ次のコード行を追加することでした。

#if DEBUG
                if( title.Culture == null || title.Religion == null )
                {

                }
#endif

これらの行を削除すると、問題なくコンパイルされます。if ステートメントを変更すると、正常にif ( true ) {}コンパイルされます。

Visual Studio を再起動しても解決しません。PCの再起動も試しました。私の知る限り、.Net フレームワークと Visual Studio はどちらも最新です。

3.5 のターゲット フレームワークである Visual Studio 2012 を、既定の言語レベル、CSS バージョン 3.0 で使用しています。

【追記】また動き始めました。私がしたことは、ログへの出力から title.TitleID の出力を削除することだけでした。

Log( " --Title in Ignore List: " + title.TitleID );つまり、次のように変更しましたLog( " --Title in Ignore List" );

の内容はtitle実行時に決定さforeachれ、リストのループの対象となります。

さらに奇妙なことに、このクラスをプロジェクトに追加すると、次のようになります。

public class DebugBreak
{
    [Conditional("DEBUG")]
    public static void TitleIDBreak( Title title, string id )
    {
        if ( title.TitleID == id )
            System.Diagnostics.Debugger.Break();
    }
}

しかし、それで何もしなくても、それは機能します。メソッドを呼び出す必要さえありません。ファイルのビルド アクションを None から Compile に変更するだけで機能します。

4

3 に答える 3

1

これは一般的にアバストが原因です。

そのウイルス対策を実行している場合は、プロジェクト フォルダーの除外を追加します。

これは過去に何度か検索しました。ファイルアクセスの問題であるため、コードではない可能性があります。

于 2015-04-26T16:39:40.823 に答える
0

投稿した内容のみに基づいて作成したコードに問題はありません。

試すことができることの 1 つは、デバッグにConditional属性を使用することです。何かのようなもの:

[Conditional("DEBUG")]
static void TitleCheck(Title title)
{
    if( title.Culture == null || title.Religion == null )
    {
        System.Diagnostics.Debugger.Break();
    }
}


private void MyProductionFunction(Title title)
{
    // Do some stuff

    TitleCheck(title); //<< This function call will be omitted completely if 'debug' conditional isn't met.

    // Do more stuff
}
于 2013-08-14T17:41:55.920 に答える