2013-01-31 130 views
1

我正在用XNA構建遊戲,並且我爲我的遊戲級別設置了自定義文件格式。我想加載它們並自己解析它們,而不使用XNA的內容管道。我有這麼多的工作,並通過將文件添加到內容項目,我甚至可以在Visual Studio中編輯它們(我也想要)。禁用vs2010 XNA內容管道警告

問題:我得到一個警告,聲明「Project item'item.lvl'沒有用XNA Framework內容管道構建,將它的Build Action屬性設置爲Compile來構建它。

我不希望XNA編譯它,因爲我正在做我自己的解析。我如何禁用警告?

回答

4

設置文件的生成操作None,然後將其設置爲Copy if newer。這將導致文件被寫入正確的輸出目錄,而不會通過Content Pipeline。

+0

解決了! – Fiarr

1

該解決方案可以創建一個自定義內容導入程序,如下所述:Creating a Custom Importer and Processor。要創建簡單的內容導入器,您必須繼承ContentImporter<T>(抽象類)中的類並覆蓋Import()方法。

下面是從MSDN一個簡單的例子:

//... 
using Microsoft.Xna.Framework.Content.Pipeline; 

class PSSourceCode 
{ 
    const string techniqueCode = "{ pass p0 { PixelShader = compile ps_2_0 main(); } }"; 

    public PSSourceCode(string sourceCode, string techniqueName) 
    { 
     this.sourceCode = sourceCode + "\ntechnique " + techniqueName + techniqueCode; 
    } 

    private string sourceCode; 
    public string SourceCode { get { return sourceCode; } } 
} 

[ContentImporter(".psh", DefaultProcessor = "PSProcessor", DisplayName = "Pixel Shader Importer")] 
class PSImporter : ContentImporter<PSSourceCode> 
{ 
    public override PSSourceCode Import(string filename, 
     ContentImporterContext context) 
    { 
     string sourceCode = System.IO.File.ReadAllText(filename); 
     return new PSSourceCode(sourceCode, System.IO.Path.GetFileNameWithoutExtension(filename)); 
    } 
} 
+0

感謝您的示例,但我已經有一個文件解析系統。只是想警告不要使用管道走開。 – Fiarr