1

Azure WCF プロジェクトに問題があります。プロジェクトに追加するxmlファイルへのファイルパスを取得したい<追加->既存のアイテム>。そのプロパティで「新しい場合はコピー」を設定し、Azure サーバーにデプロイすると、このファイルがbinに正しくコピーされていることがわかります。私は試してみました:

1)これはエミュレータでローカルでのみ動作しています:

string filePath = Path.Combine(Environment.GetEnvironmentVariable("RoleRoot"), @"approot", @"bin", @"myFile.xml");

2)どこでも機能していません(エミュレーターと紺碧の場合):

string appRoot = HttpContext.Current.Server.MapPath(@"~\"); 
string filePath = Path.Combine(appRoot + @"\", @"bin\myFile.xml");

xmlファイルを出力ディレクトリに追加する以外に別の方法があるのでしょうか? EmguCV を使用しており、カスケード xml ファイルをロードしたいと考えています。

4

2 に答える 2

2

Azureは特別なものではありません!IISだけです!そのため、ローカルで行って機能するものはすべて、Azure でも機能します (一般的な経験則として)。

試しましたHttpContext.Current.Server.MapPath("~/bin/name_of_file.xml");か?

また、なぜそのCopy Local属性を設定するのだろうか。XML をソリューションに追加する正しい方法は、それBuild Actionを toContentおよびCopy to Outputto にすることDo not copyです。その後、ちょうどいいServer.MapPath("~/name_of_file.xml")はずです。

于 2013-06-18T20:30:38.387 に答える