语音合成器“输入字符串格式不正确”

这是我的代码: string _message = “Hello world.”; SpeechSynthesizer _synth = new SpeechSynthesizer(); Prompt _prompt = new Prompt(_message); _synth.Speak(_prompt); 我不能为我的生活弄清楚究竟是什么导致了这个错误: “输入字符串的格式不正确。” 导致此错误的行是我调用_synth.Speak(_prompt); 编辑:我已经在我的桌面计算机上尝试了这个代码,它工作正常,所以在我的笔记本电脑上安装有问题。 我还不太确定如何解决这个问题…… 编辑: 堆栈跟踪: System.FormatException: Input string was not in a correct format. at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffe r& number, NumberFormatInfo info, Boolean parseDecimal) at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo in fo) at System.Speech.Internal.SapiAttributeParser.GetCultureInfoFromLanguageStrin […]

ASP.NET核心本地化 – 不从资源文件返回值,仅返回Name

我正在尝试实现本地化,但是在运行时只返回Name。 Startup.cs public void ConfigureServices(IServiceCollection services) { services.AddLocalization(options => options.ResourcesPath = “Resources”); services.AddMvc() .AddViewLocalization() .AddDataAnnotationsLocalization(); } public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { ….. List supportedCultures = new List { new CultureInfo(“no”), new CultureInfo(“en”) }; app.UseRequestLocalization(new RequestLocalizationOptions { DefaultRequestCulture = new RequestCulture(“no”), SupportedCultures = supportedCultures, SupportedUICultures = supportedCultures }); app.UseStaticFiles(); app.UseMvc(routes => { […]

为什么在使用“注释选择”注释多行选择时,Visual Studio会采用单行注释?

关于Visual Studio中的“ 注释选择”选项( Ctrl + K , Ctrl + C ),我总是想知道一些小问题。 当我评论此方法的实现时,使用单行注释格式。 private void Foo() { //Bar b = new Bar(); } 当我在这里评论来自构造函数的参数(部分行)时,使用分隔的注释格式。 private void Foo(Qux q) { Bar b = new Bar(/*q*/); } 在评论整个方法时会产生以下结果: //private void Foo() //{ // Bar b = new Bar(); //} 我觉得在最后一种情况下,分隔的评论格式会更合适,因为规范说: 单行注释扩展到源代码行的末尾。 定界注释可能跨越多行。 有人知道为什么在Visual Studio中注释多行选择时这被选为默认格式?

在iOS上为内部导航引发的Xamarin.Forms.WebView.Navigating事件

假设您要阻止用户从Xamarin.Forms.WebView导航到外部页面。 public App () { var webView = new WebView { Source = new HtmlWebViewSource { Html = “Hello worldCan’t escape!” } }; webView.Navigating += WebView_Navigating; MainPage = new ContentPage { Content = webView }; } private void WebView_Navigating(object sender, WebNavigatingEventArgs e) { // we don’t want to navigate away from our page // open […]

之前没有访问的访问冲突

我是P /调用Graphviz ,如下所示 。 当我写这篇博客文章时,代码工作正常。 现在,我正在整理一个使用该代码渲染Graphviz图形的HttpModule ,但是我在agmemread得到了一个AccessViolationException 。 // Native signature Agraph_t agmemread(char *); // P/Invoke Signature [DllImport(LIB_GRAPH)] private static extern IntPtr agmemread(string data); // Usage IntPtr g = agmemread(data); 就像我说的,这之前完美无缺。 但现在,我无法让我的代码适用于任何事情。 甚至我基于相同代码的旧Graphviz应用程序也不再适用。 我可能有什么改变会导致这种情况? 我甚至没有下载新版本的Graphviz或任何东西,所以DLL都是一样的。 编辑:我尝试将string更改为StringBuilder ,但这产生了相同的结果。 然后,我添加了一个MarshalAs属性: static extern IntPtr agmemread([MarshalAs(UnmanagedType.LPWStr)] string data); 有了它,我不再获得AccessViolationException ,但Graphviz无法正确读取字符串并返回空指针。

确定是从两个角度顺时针或逆时针转动

我在XNA制作游戏。 我有敌人和球员。 敌人应该逐渐转向玩家。 他们应该确定是否需要顺时针或逆时针转动,以较短者为准。 我通过使用Atan2得到了敌人当前面对的角度和它应该面对的角度(敌人和玩家之间的线的角度)作为弧度。 我虽然得到了一些奇怪的行为。 让我们在下面的场景中说。 敌人可能会朝错误的方向转过来。 我的代码(下面)不断变长,我仍然遇到问题。 此代码是敌人类Update方法的一部分。 这必须是游戏中要克服的常见问题。 有没有办法解决这个问题? //this bit is just in case enemy has rotated more than 360 degrees (gets set back to 0) if (Math.Abs(_blocklist[0]._floor.Revolutions) >= 2) { _blocklist[0]._floor.Rotation = 0.0f; } //enemy rotation in radians float blockroat = _blocklist[0]._floor.Rotation; // vector to player – vector to enemy […]

双击datagrid时出现问题

我在C#代码中的数据网格上有以下内容: 除非用户首先选择行(单击)然后尝试双击该行,否则它大部分都有效。 在这种情况下,CmdTransUnitFillerRowDblClick代码永远不会被触发进行处理。 那么,当行已被选中时,如何在双击时正确触发CmdTransUnitFillerRowDblClick? 有人可能会问: private void ExecutecmdTransUnitFillerRowDblClick(object parameter) { if (DgTransUnitFillerSelectedItem != null) TransUnitFillerDoubleClick(DgTransUnitFillerSelectedItem.CollectionRowId); }

powerpoint c#加载项形状分组问题

我使用Visual Studio 2010开发PowerPoint 2010加载项,并且在幻灯片上对两个对象进行分组时遇到了重大问题。 我正在尝试创建两个对象,将它们放在幻灯片上并将它们全部分组到同一个函数中。 添加对象并将它们放在幻灯片上不是问题。 说到分组部分…… 我试过了: PowerPoint._Application myPPT = Globals.ThisAddIn.Application; PowerPoint.Slide curSlide = myPPT.ActiveWindow.View.Slide; string[] myRangeArray = new string[2]; myRangeArray[0] = “nameOfShape0”; myRangeArray[1] = “nameOfShape1”; curSlide.Shapes.Range(myRangeArray).Group(); 和 PowerPoint._Application myPPT = Globals.ThisAddIn.Application; PowerPoint.Slide curSlide = myPPT.ActiveWindow.View.Slide; curSlide.Shapes.Range(Array(“nameOfShape0”, “nameOfShape1”)).Group(); 两者都悲惨地失败了。 我对此感到非常沮丧,我真的希望某种善良的灵魂能为我找到解决方案。 谢谢。 更新:这是我正在使用的完整代码: PowerPoint._Application myPPT = Globals.ThisAddIn.Application; PowerPoint.Slide curSlide = myPPT.ActiveWindow.View.Slide; PowerPoint.Shape browser = curSlide.Shapes.AddOLEObject(110, […]

使用ItextSharp PdfPTable,table.TotalHeight返回0.0,但期望正浮点值

我正在使用ItextSharp创建一个包含多个PdfPTable的PDF文档。 我使用列表对多个PdfPTable进行分组,列表在函数中创建并作为列表返回。 然后我获取列表并循环遍历它以将每个PdfPTable添加到文档中。 如果列表中的下一个PdfPTable大于文档上的剩余空间,我想添加一个新页面。 使用断点,我注意到“table.TotalHeight”总是返回0,当我希望它返回一个正浮点值时。 我可能误解了table.TotalHeight的工作方式,但根据我的理解,它应该返回单个表的总高度。 for (count1 = 0; count1 (writer.GetVerticalPosition(false) – doc.BottomMargin)) { doc.Add(new Paragraph(“Quote continues on next page”)); doc.NewPage(); } doc.Add(new Paragraph(” “)); doc.Add(table); }

我在我的解决方案中添加了一个新的XML文件,但是当我按F5进行测试时,我在Debug文件夹中找不到.xml文件

这可能是什么问题?