2016-05-27 3 views
0
var storePath = ConfigurationManager.AppSettings[configKey]; 
var dbpath=dbpath.replace("/","\\") 
var fullFilePath = Path.Combine(storePath, dbpath); 

値がConfigをキーに保存されている期待通りに動作しない - > D:\ストレージ\ ResourceStorageデータベースからPath.Combine()は

値: DBPATH:LearnerAnswers \ test.pkg

予想される出力: D:\ストレージ\ ResourceStorage \ LearnerAnswers \ test.pkg

実際の出力: D:\ LearnerAnswers \ test.pkg

更新質問正確なシナリオにストアパスのためのデバッガから

値を反映するために: D:私はこれに多くの時間を費やしている\ストレージ\ ResourceStorage

..しかし、何がうまくいかないのか分からなかった?

+0

上記のあなたの例では何か間違っていますか? _dbpath_または_path_を使用していますか? – Steve

+0

@ Steve..dbpathは私の変数名です –

+0

dbPathは上記の例では使用されていないので、なぜそれをすべて組み込んだのですか? – Evk

答えて

0

あなたがあなたの質問に与えた例のパスをチェックしたところ、期待される出力が得られました。

var storePath = @"d:\Storage\ResourceStorage"; 
var dbpath = @"LearnerAnswers\test.pkg"; 
var fullFilePath = Path.Combine(storePath, dbpath); 

何か間違っている必要があります。シングルステップモードでデバッガを使用し、すべての単一値を確認してください。

以下の元の回答は、最初に質問に記載された無効な情報が原因でした。あなたがここにバックスラッシュを引用または@を使用する必要が

var storePath = "d:\Storage\ResourceStorage"; 

したがって、次のいずれかを使用します。

var storePath = @"d:\Storage\ResourceStorage"; 
var storePath = "d:\\Storage\\ResourceStorage"; 

+1

これは他にもコンパイルされますか? – Evk

+0

あなたはそれを言う:それはすべきではないが、OPが別のコメントで言うように、これは彼の実際のコードではない... –

+0

なぜdownvote? –

関連する問題