1
如果在使用sharpdx工具箱contentpipeline時未找到我的資產,可能會出現問題。SharpDX:未找到內容資產
sf = Content.Load<SpriteFont>("Arial16ClearType");
他們是在一個叫做「內容」子目錄,它被設置在應用程序:
Content.RootDirectory = "Content";
的BuildAction的正確設置爲Toolkitfont。 「複製到輸出目錄」是「不要複製」。
我加入這個對我的csproj
<Import Project="f:\work\github\SharpDX\SharpDX.targets" />
進口buildactions它總是拋出此異常
SharpDX.Toolkit.Content.AssetNotFoundException was unhandled
HResult=-2146233088
Message=Content\Arial16ClearType
Source=SharpDX.Toolkit
StackTrace:
at SharpDX.Toolkit.Content.ContentManager.FindStream(String assetName) in ..\..\Source\Toolkit\SharpDX.Toolkit\Content\ContentManager.cs:line 330
at SharpDX.Toolkit.Content.ContentManager.Load(Type assetType, String assetName, Object options) in ..\..\Source\Toolkit\SharpDX.Toolkit\Content\ContentManager.cs:line 201
at SharpDX.Toolkit.Content.ContentManager.Load[T](String assetName, Object options) in ..\..\Source\Toolkit\SharpDX.Toolkit\Content\ContentManager.cs:line 163
at glyphrenderer.GlyphGame.LoadContent() in GlyphGame.cs:line 78
at SharpDX.Toolkit.Game.InitializeBeforeRun() in ..\..\Source\Toolkit\SharpDX.Toolkit.Game\Game.cs:line 326
at SharpDX.Toolkit.GameWindowDesktop.RunRenderLoop() in ..\..\Source\Toolkit\SharpDX.Toolkit.Game\Desktop\GameWindowDesktop.cs:line 340
at SharpDX.Toolkit.GameWindowDesktop.Run() in ..\..\Source\Toolkit\SharpDX.Toolkit.Game\Desktop\GameWindowDesktop.cs:line 302
at SharpDX.Toolkit.GamePlatform.Run(GameContext gameContext) in ..\..\Source\Toolkit\SharpDX.Toolkit.Game\GamePlatform.cs:line 133
at SharpDX.Toolkit.Game.Run(GameContext gameContext) in ..\..\Source\Toolkit\SharpDX.Toolkit.Game\Game.cs:line 378
at glyphrenderer.Program.Main(String[] args) in Program.cs:line 18
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
感謝您的回覆。實際上,我正是這樣,Build Action設置爲ToolkitFont,並且它們不會複製到輸出目錄。我注意到了一點細微差別,在示例解決方案中,資產在圖標上方有一個藍色覆蓋層,他們沒有在我的解決方案中有這個。 – clamp
如果文件「Arial16ClearType.tkb」存在,你可以在你的exe文件的bin目錄中檢查'Content'目錄嗎?當你完全編譯你的項目時,你應該看到編譯成功的C:\ Code \ SharpDX \ Samples \ Toolkit \ Desktop \ SpriteBatchAndFont \ .. \ .. \ Common \ SpriteBatchAndFont \ Content \ Arial16.xml到C:\代碼\ SharpDX \的Samples \工具包\桌面\ SpriteBatchAndFont \ OBJ \調試\內容\ Arial16.tkb' – xoofx