wptf c#でレポートを作成するためにfile.rdlを書き込む必要がありますが、「c:\ Documentへのアクセスが拒否され、Setting \ SipusProv \一時\ reportTemp.rdl これは私のソースコードです:。パスへのアクセスが拒否されました。C:WPF C#
private void LaporanRdl(string rdl, DataSet data, string judul)
{
DataSet dt = data;
dt.DataSetName= "Data";
Masaddy.Reprot report = new Masaddy.Reprot();
try
{
//System.IO.StreamReader strReader = new System.IO.StreamReader(AppDomain.CurrentDomain.BaseDirectory + @"\rdl\" + rdl + ".rdl");
System.IO.StreamReader strReader = new System.IO.StreamReader(AppDomain.CurrentDomain.BaseDirectory + @"\rdl\" + rdl + ".rdl");
string pathTemp = AppDomain.CurrentDomain.BaseDirectory + @"Temp\reportTemp.rdl";
System.IO.StreamWriter strWriter = new System.IO.StreamWriter(pathTemp);
string strIsi = "";
while (strIsi != "</Report>")
{
strIsi = strReader.ReadLine().Trim();
if (strIsi == "<Value>txtDep</Value>")
{
strIsi = " <Value>" + this.ddDeputi.SelectedItem.ToString() + "</Value>";
}
if (strIsi == "<Value>txtDir</Value>")
{
strIsi = " <Value>" + this.ddDir.SelectedItem.ToString() + "</Value>";
}
if (strIsi == "<Value>txtSubDir</Value>")
{
strIsi = " <Value>" + this.ddSubDir.SelectedItem.ToString() + "</Value>";
}
if (strIsi == "<Value>txtTahun</Value>")
{
strIsi = " <Value>" + this.txtTahun.Text.ToString() + "</Value>";
}
strWriter.WriteLine(strIsi);
}
strWriter.Dispose();
Masaddy.ReportForm r = new Masaddy.ReportForm(AppDomain.CurrentDomain.BaseDirectory + @"\\Temp\\reportTemp.rdl", "Data", dt.Tables[0]);
r.Text = judul;
r.Show();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
使用しているウィンドウのバージョンは? –
あなたはパーミッションをチェックしましたか?ファイルは別のプロセスで開いていますか?ファイルは読み取り専用ですか?これまでに何を確認しましたか? – Cameron
また、あなたの質問とはまったく無関係ですが、すばらしい 'System.Path'クラス(特に[' Combine() '](http://msdn.microsoft.com/en-us/library/ fyy7a5kt.aspx)メソッド)。 – Cameron