XNA3.0 ContentPipeline Build For VB.NET
自己写了一个


Imports ...System.IO
Public Class MainForm

"字段"#Region "字段"
''' <summary>
''' 资源表
''' </summary>
''' <remarks></remarks>
Private m_DT资源表 As New DataTable
#End Region

"方法"#Region "方法"
''' <summary>
''' 窗口加载
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks> 
Private Sub MainForm_Load() Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim TempCol As DataColumn
TempCol = New DataColumn("文件名")
m_DT资源表.Columns.Add(TempCol)
TempCol = New DataColumn("输出名")
m_DT资源表.Columns.Add(TempCol)
TempCol = New DataColumn("类型")
m_DT资源表.Columns.Add(TempCol)
TempCol = New DataColumn("处理器")
m_DT资源表.Columns.Add(TempCol)
TempCol = New DataColumn("路径")
m_DT资源表.Columns.Add(TempCol)
Me.gcMain.DataSource = m_DT资源表
Me.te输出目录.Text = Me.fbdMain.SelectedPath
End Sub
''' <summary>
''' 选择文件
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks> 
Private Sub sb选择文件_Click() Sub sb选择文件_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles sb选择文件.Click
If Me.ofdMain.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.te源文件.Text = Me.ofdMain.FileName
Dim FI As New System.IO.FileInfo(Me.ofdMain.FileName)
Me.te输出文件名.Text = FI.Name.Replace(FI.Extension, "")
FI = Nothing
End If
End Sub
''' <summary>
''' 选择输出目录
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks> 
Private Sub sb选择目录_Click() Sub sb选择目录_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles sb选择目录.Click
If fbdMain.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.te输出目录.Text = Me.fbdMain.SelectedPath
End If
End Sub
''' <summary>
''' 添加
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks> 
Private Sub sb添加_Click() Sub sb添加_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles sb添加.Click
Dim TempRow As DataRow = m_DT资源表.NewRow
Dim FI As New System.IO.FileInfo(Me.ofdMain.FileName)
TempRow("文件名") = FI.Name
FI = Nothing
TempRow("输出名") = Me.te输出文件名.Text
TempRow("类型") = Me.icbe源文件来源.EditValue
TempRow("处理器") = Me.icbe处理器类型.EditValue
TempRow("路径") = Me.te源文件.Text
m_DT资源表.Rows.Add(TempRow)
'Me.gcMain.Refresh()
End Sub
''' <summary>
''' 移除
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks> 
Private Sub sb移除_Click() Sub sb移除_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles sb移除.Click
Me.m_DT资源表.Rows.RemoveAt(Me.gvMain.FocusedRowHandle)
End Sub
''' <summary>
''' 生成
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks> 
Private Sub sb生成_Click() Sub sb生成_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles sb生成.Click
Try
Using sw As StreamWriter = New StreamWriter(Me.fbdMain.SelectedPath & "\Content_Temp.csproj", False)
sw.WriteLine(My.Resources.Head)
For Each TempRow As DataRow In m_DT资源表.Rows
sw.WriteLine("<ItemGroup>")
sw.WriteLine(vbTab & "<Compile Include=" & Chr(34) & TempRow("路径") & Chr(34) & ">")
sw.WriteLine("<XNAUseContentPipeline>true</XNAUseContentPipeline>")
sw.WriteLine(vbTab & vbTab & "<Name>" & TempRow("输出名") & "</Name>")
sw.WriteLine(vbTab & vbTab & "<Importer>" & TempRow("类型") & "</Importer>")
sw.WriteLine(vbTab & vbTab & "<Processor>" & TempRow("处理器") & "</Processor>")
sw.WriteLine(vbTab & "</Compile>")
sw.WriteLine("</ItemGroup>")
Next
sw.WriteLine(My.Resources.Foot)
sw.Close()
System.Diagnostics.Process.Start(Environment.GetEnvironmentVariable("Windir") & _
"\Microsoft.NET\Framework\v3.5\MSBuild.exe", "/nologo " & Chr(34) & Me.fbdMain.SelectedPath & _
"\Content_Temp.csproj" & Chr(34) & " /l:FileLogger,Microsoft.Build.Engine;logfile=" & _
Chr(34) & Me.fbdMain.SelectedPath & "\Build.log" & Chr(34))
End Using
Catch ex As Exception
Debug.WriteLine(ex.ToString)
End Try
End Sub
#End Region
End Class
上一篇:没有了
下一篇:没有了


