2012-10-01 6 views
6

私はVisual Studio 2010で最初にビルドした.net 4 MVC Web Apiアプリケーションを持っています。このソリューションの一環として、私は単体テストのスイートを持っています。

私は、次の

[AspNetDevelopmentServerHost("$(SolutionDir)\\DataCollectionService", "/")] 

私の理解でユニットテストメソッドを飾ってきたが、「$(SolutionDir)が」パラメータは、ソリューションディレクトリへのパスを保持していることであり、それのようにテストスイートは、より一般的になり複数の環境で動作します。私は、Visual Studio 2012でプロジェクトを開いて、私は次のエラーを取得するテストスイートを実行しようとすると、このすべては、2010年

しかしVisual Studioで素晴らしい作品

「メッセージ:Webサイトのパス「$(SolutionDir) \ DataCollectionService私は

[AspNetDevelopmentServerHost("D:\\CASLog\\Trunk\\DataCollectionService", "/")] 

それが正常に動作しますように正確なパスに変更した場合は」は、その長いジェネリックれていないが、「

....存在しません。

私のビジュアルスタジオ2010には再ハザードがありますが、ビジュアルスタジオ2012には再現性がありません。

何が起こっているのですか?

答えて

6

実際には$(SolutionDir)はマクロです。 VS2012ではマクロを使用できなくなりました。 回避策の1つは、環境変数(customまたは%PathToWebRoot%)を使用することです。環境変数はAspNetDevelopmentServerHostでサポートされています。 Environment.SetEnvironmentVariableを使用してClassInitializeAttributeメソッドの値を設定できます。

関連する問題