簡體   English   中英

禁用vs2010 XNA Content Pipeline警告

[英]Disable vs2010 XNA Content Pipeline warning

我正在使用XNA構建游戲,並且具有針對游戲級別的自定義文件格式。 我想加載它們並自己解析,而不使用XNA的內容管道。 我已經做了很多工作,通過將文件添加到Content項目中,我什至可以在Visual Studio中編輯它們(我也想要)。

問題:我收到警告,指出“項目項'item.lvl'不是用XNA Framework Content Pipeline構建的。將其Build Action屬性設置為Compile即可構建它。”

我不希望XNA進行編譯,因為我正在執行自己的解析。 如何禁用警告?

將文件的Build Action設置為None ,然后將其設置為Copy if newer 這將導致文件被寫入正確的輸出目錄,而無需通過內容管道。

解決方案可以按照以下說明創建自定義內容導入器: 創建自定義導入器和處理器 要創建一個簡單的內容導入器,您必須從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));
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM