none
'ShimDateTime' が名前空間 'System.Fakes' に存在しない RRS feed

  • 質問

  • MS Fakes初心者の初投稿者でご迷惑をおかけするかもしれませんがよろしくお願いいたします。

    Visual Studio Enterprise 2015時点では動作しており、変更はしていません。その状態のまま2017でビルドするとエラーになってしまいます。下記、ソースのShimDateTimeの箇所で

    CS0234 型または名前空間の名前 'ShimDateTime' が名前空間 'System.Fakes' に存在しません (アセンブリ参照があることを確認してください)。

    のエラーとなってしまいます。

    using (ShimsContext.Create())
    {
        System.Fakes.ShimDateTime.NowGet = () =>
        {
            return new DateTime(2018, 1, 1);
        };
    }



    System.Fakes.まで打っても、IntelliSenseの候補にShimDateTimeはでてきません。

    SystemのFakes関連を一度全部削除してSystemのFakesを作り直しても解決しません。

    仕様が変更になったのでしょうか?

    環境は、
    Windows10 Pro
    Microsoft Visual Studio Enterprise 2017 Version 15.5.6
    .Net Framework4.5.2を使用しています。

    申し訳ございませんが、対応方法をご存知の方

    ご教示お願いいたします。

    2018年2月13日 1:20

回答

すべての返信

  • 検索しただけで申し訳ないですが、何かのヒントになるかもしれません。

    ShimDateTime not available in System.Fakes
    https://stackoverflow.com/questions/40039081/shimdatetime-not-available-in-system-fakes


    ★良い回答には質問者は回答済みマークを、閲覧者は投票を!

    • 回答としてマーク 雄猫ぽち 2018年2月13日 3:04
    2018年2月13日 1:59
    モデレータ
  • trapemiya様

    ご回答ありがとうございます。

    書いてある通りに、mscorlib.fakesの内容を変更してビルドを実行したところ
    エラーが変わり、FakesのTokenが違うとメッセージが出たため再度、System関連のFakesを削除して
    再作成したところエラーが解消いたしました。

    実際、再作成したためmscorlib.fakesの内容は変更前に戻ったのですが
    IntelliSenseの候補にShimDateTimeがちゃんと出るようになりました。

    新たに、下記のエラー発生して
    型または名前空間の名前 'ITuple' が名前空間 'System.Runtime.CompilerServices' に存在しません (アセンブリ参照があることを確認してください)。

    objフォルダのf.csでビルドエラーが起こっていますが、教えて頂いたページにも同様なことが書いてありますので
    この後、試してみようと思います。

    内容ズバリで非常に助かまりました。
    ありがとうございました。


    2018年2月13日 3:04