ASP.NETを使用している場合、runat = "server"を使用して相対パスが機能することがわかります。私は通常の文字列のパスでそれを達成する方法はありますか?私の呼び出しは、私が.NETサーバーにファイルをロードする
Could not find a part of the path 'C:\Program Files (x86)\IIS Express\~\App_Data\userConfigDefault.xml'.
のエラーコードを取得し、この
userConfig.Load("~\\App_Data\\userConfigDefault.xml");
のように見えます私は私の溶液中に存在するxmlファイルをいただきたいが、私は、ハード、このアプリケーションので、その場所をコーディングすることはできませんポータブルになる予定です。私はどのように私のC#コードで相対パスを把握する必要があります。
助けがあれば助かります。ありがとう。
編集: 私が読もうとしているXMLファイルのファイルパスは、実際にはプロジェクトソリューションのApp_Dataフォルダです。 Rionの最初の解決策は私のuser \ AppData \ Roamingに私を指摘しました。私は厄介な男ではない。私のVisual Studioソリューション内の任意のフォルダをポイントすると、私の問題が解決されます。あなたはApp_Dataにディレクトリからファイルにアクセスしようとしている場合、下図のように、あなたがEnvironment.SpecialFolder.ApplicationData
プロパティを使用して検討すべき一般
あなたは 'userConfig.Load(Server.MapPath("〜\\ App_Data \\ userConfigDefault.xml "))'を探していますか? –
サーバーを稼働させることができませんでしたが、回避策が見つかりました。ありがとうございました! 'VARパス= System.Web.Hosting.HostingEnvironment.MapPath( "〜\\ App_Dataに\\ userConfigDefault.xml");' –