[英]Creates output in debug, but not in release - Visual Studio 2012
我有一個VB Visual Studio 2012項目,在其中創建.csv文件。 以下是摘錄。 基本上,當我調試程序時,它會按預期在bin / debug中創建.csv文件。 但是當我發布程序時,我無法弄清楚我的一生是什么原因或為什么不創建它們。 我已將構建輸出路徑更改為幾個不同的時間,並確保我處於其中的“發布”部分。 我什至不在乎輸出在哪里,我只想要它在某個地方! 謝謝
編輯:好的,所以我找到了文件... C:\\ Users \\ ah0169569 \\ AppData \\ Local \\ Apps \\ 2.0 \\ BLWZBB1R.02J \\ XTOQVPX5.N3O \\ payr.tion_d310a0976fa1c317_0001.0000_81024c9c62a3db84所以這是一個愚蠢的位置。 如何更改輸出到應用程序文件夾中? 還是用戶指定的某個地方?
Sub DataTable2CSV(ByVal table As DataTable, ByVal filename As String)
DataTable2CSV(table, filename, ",")
End Sub
Sub DataTable2CSV(ByVal table As DataTable, ByVal filename As String, _
ByVal sepChar As String)
Dim writer As System.IO.StreamWriter
Try
writer = New System.IO.StreamWriter(filename)
' first write a line with the columns name
Dim sep As String = ""
Dim builder As New System.Text.StringBuilder
For Each col As DataColumn In table.Columns
builder.Append(sep).Append(col.ColumnName)
sep = sepChar
Next
writer.WriteLine(builder.ToString())
' then write all the rows
For Each row As DataRow In table.Rows
sep = ""
builder = New System.Text.StringBuilder
For Each col As DataColumn In table.Columns
builder.Append(sep).Append(row(col.ColumnName))
sep = sepChar
Next
writer.WriteLine(builder.ToString())
Next
Finally
If Not writer Is Nothing Then writer.Close()
End Try
End Sub
更改代碼的第一件事是“嘗試/最終”。 這樣,您將永遠不會知道代碼是否失敗以及為什么失敗。 我添加了一個Catch和一個MessageBox只是為了顯示是否有錯誤
Try
Using writer = New System.IO.StreamWriter(filename)
Dim builder As New System.Text.StringBuilder
For Each col As DataColumn In table.Columns
builder.Append(col.ColumnName + sepChar)
Next
builder.Length -= 1
builder.AppendLine()
For Each row As DataRow In table.Rows
For Each col As DataColumn In table.Columns
builder.Append(row(col.ColumnName) + sepChar)
Next
builder.Length -= 1
builder.AppendLine()
Next
writer.Write(builder.ToString())
End Using
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
接下來的事情是using語句 ,即使在發生異常的情況下,也可以確保正確關閉Stream。 最新的功能是對StringBuilder的使用進行的修復,該功能可在一次調用中累積文本並編寫所有內容。 當然,這對於小數據來說不是問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.