我正在使用Charles代理来自localhost的文件来测试Facebook游戏的功能.这在昨天工作,现在突然转向代理结果导致Chrome的隐私错误:
"您的连接不是私有的,NET:ERR_CERT_AUTHORITY_INVALID".
我也从Safari和Firefox获得了类似的消息.禁用Mac OSX代理允许我再次加载游戏.其他网站被击中或错过.例如,谷歌似乎受到影响,但不是亚马逊.
我不确定在Charles的设置中要检查什么,因为它没有很多文档(我不相信我已经改变了任何东西,因为它最后工作).
我正在尝试用WPF/C#编写项目报告工具.我想访问TFS(Team Foundation Server)上的所有项目名称,然后显示给定项目中每个工作项的统计信息.
我有项目名称,但获得实际的工作项目是给我带来困难的.这是我到目前为止所得到的:
public const string tfsLocation = "http://whatever";
// get the top list of project names from the team foundation server
public List<string> LoadProjectList()
{
var tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(tfsLocation));
var workItemStore = new WorkItemStore(tpc);
var projects = (from Project project in workItemStore.Projects select project.Name).ToList();
return projects;
}
public string GetProjectInfo(string targetProject)
{
string info = String.Empty;
var tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(tfsLocation));
var workItemStore = new WorkItemStore(tpc);
foreach (Project project in workItemStore.Projects)
{
if (project.Name == targetProject)
{ …Run Code Online (Sandbox Code Playgroud) 我正在使用Entity Framework在C#中生成类和函数,我需要与SQL服务器进行交互.
作为参考,这是我的一个表:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Area](
[ID] [bigint] identity (1, 1) primary key,
[Name] [nvarchar](100) NOT NULL
)
GO
Run Code Online (Sandbox Code Playgroud)
运行实体数据模型向导(使用'数据库中的EF Designer')后,我的项目有edmx文件和一些新的.cs文件,但似乎它没有生成它需要的所有内容.
例如,在我的DatabaseEntities类中,我得到了:
public virtual DbSet<Area> Areas { get; set; }
Run Code Online (Sandbox Code Playgroud)
但是,"区域"类型(以及其他三种缺失类型)没有定义.我也缺少存储过程的功能.
我已经尝试删除新文件并重新运行模型向导,但我得到了相同的结果.
有没有其他人遇到这个?
图片的标题说明:
我在最近的几次尝试中注意到,当向导运行时我也遇到错误:"未在项目上安装Entity Framework包".但是,当我点击它时,它仍然生成edmx和model.context.
我对Entity Framework版本6.0.0和6.1.2都有同样的问题.
重新安装框架对问题没有影响.
更新:
卸载nuget并重新安装最新版本允许我通过nuget安装EntityFramework而不会出错.但是,现在Add New Item对话框中缺少ADO.NET数据模型.
我使用Microsoft SQL Server 2012从脚本创建了一个sql数据库,并使用实体框架在C#中生成了一些类.现在我必须修改并向该数据库添加许多新项目,包括存储过程和新表.
但是,在尝试重新生成Visual Studio Ultimate 2012中的类时,实体数据模型向导仍然显示旧数据库(它在一周前的样子),包括我删除的一些表.没有列出新的东西.我已经尝试删除并重新创建数据库,重新启动两个程序,并重新启动电脑无效.
我在Visual Studio中生成框架所采取的步骤是:
在更改数据库以使这些更改显示在实体框架中之后,我需要采取一些特殊步骤吗?
更新:
我在"从数据库更新模型"选项方面处于领先地位,但我的Visual Studio没有这样的选项.网络搜索表明它在"模型浏览器窗口"中找到,我在VS中也找不到它.进一步搜索表明在打开"edmx"文件后该窗口变为可用.我在整个电脑上搜索了该文件扩展名并找到了一些结果,但它们都来自其他人的项目.我找不到与该项目的c#解决方案或sql数据库相关联的.edmx.
我在输入字段中有几个TextBox,在我的视图中有一个"Save"按钮.其中两个TextBox是保存所必需的字段,我在xaml中设置了一个自定义ValidationRule,用于一些视觉反馈(红色边框和工具提示),如下所示:
<TextBox ToolTip="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=(Validation.Errors)[0].ErrorContent}">
<TextBox.Text>
<Binding Path="ScriptFileMap" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<v:MinimumStringLengthRule MinimumLength="1" ErrorMessage="Map is required for saving." />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
Run Code Online (Sandbox Code Playgroud)
"保存"按钮链接到一个调用SaveScript()函数的DelegateCommand.如果两个必填字段的属性为空,则该函数不允许用户保存:
public void SaveScript()
{
if (this.ScriptFileName.Length > 0 && this.ScriptFileMap.Length > 0)
{
// save function logic
}
}
Run Code Online (Sandbox Code Playgroud)
但是,该功能仍允许保存文件.仔细观察,我发现当ValidationRule失败时,这两个字段(ScriptFileName和ScriptFileMap)的值没有被更新,并且它超过了最后的已知值.
这是ValidationRule的预期行为还是我在某处丢失了某些东西或出现故障?如果是前者,有没有办法覆盖这种行为?如果空字符串永远不会传递给bound属性,我无法阻止ViewModel中的保存.
我正在尝试从一堆聚合数据中创建并在C#中保存新的Excel文档.现在,我只是试图让基础知识工作到编辑表格单元格等等.这是我只是尝试设置一个单元格的内容:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Office.Interop.Excel;
namespace DebugReport
{
class MonumentDebugReport
{
static void Main(string[] args)
{
Worksheet spreadsheet = new Worksheet();
spreadsheet.Cells[0, 0] = "stuff";
}
}
}
Run Code Online (Sandbox Code Playgroud)
返回:
无法将"Microsoft.Office.Interop.Excel.WorksheetClass"类型的COM对象强制转换为接口类型"Microsoft.Office.Interop.Excel._Worksheet".此操作失败,因为由于以下错误,对IID为"{000208D8-0000-0000-C000-000000000046}"的接口的COM组件的QueryInterface调用失败:不支持此类接口(HRESULT异常:0x80004002(E_NOINTERFACE)) .
在我设置单元格的行上.对我来说,这看起来与我见过的大多数示例/教程完全一样,而且我在C#文档中找不到任何表明这不起作用的内容.
当按下开始按钮或 F5 键时,我的 Visual Studio 2017 会运行程序的最后构建版本,但如果我事先使用“构建”->“构建解决方案”或 ctrl + shift + B,它只会反映最近的更改。
即使使用键盘快捷键,按 ctrl+shift+b 进行构建通常很乏味(用一只手已经很尴尬),等待解决方案编译(根据项目的不同,可能需要一秒到几分钟),然后然后按F5运行。
如果我可以使用标准的构建+运行快捷方式,这将节省大量时间和便利。然而,我不确定我应该寻找什么设置。
更新:
检查工具->选项->环境->键盘,看起来我的Debug.Start设置为F5,所以这不是键盘快捷键的问题。
在WPF中,我有一个ListView,其ItemSource绑定到ObservableCollection:
<ListView ItemsSource="{Binding Path=TestList, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}">
Run Code Online (Sandbox Code Playgroud)
TestList是TestCase类型的集合,它具有多个成员。这对于用TestList成员的信息填充ListView列非常有用,但是我还需要从集合外部访问属性。
有一个ComboBox(位于ListView之外),用于更改某些列中显示的控件。我试图通过在Visibility属性上设置DataTrigger来做到这一点:
<GridViewColumn Header="Area" Width="100">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Area}">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Setters>
<Setter Property="Visibility" Value="Visible"/>
</Style.Setters>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IdentitySelection}" Value="Test Management">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
Run Code Online (Sandbox Code Playgroud)
我还有其他一些地方需要从TestList外部进行绑定(例如在CellTemplates中填充ComboBox)。但是,ListView似乎没有从ItemSource之外的任何事物获取数据。
我尝试将TestList和IdentitySelection移到一个类(TestManager)中,将其声明为一个大型属性,并绑定到该类:
<ListView ItemsSource="{Binding Path=TestManager, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}">
<ListView.View>
<GridView>
<GridViewColumn Header="Area" Width="100">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=TestList.Area}">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Setters>
<Setter Property="Visibility" Value="Visible"/>
</Style.Setters>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IdentitySelection}" Value="Test Management">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style> …Run Code Online (Sandbox Code Playgroud) 我刚刚下载了最新版本的 Monogame (3.5),突然发现 XNA 的引用含糊不清。我不确定我之前的版本是什么,但可以说已经有几年了。
我尝试在 Visual Studio 中添加和删除程序集引用,但这只会产生不同的错误。
这是确切的消息(其中之一):
Error 12 The type 'Microsoft.Xna.Framework.Graphics.Texture2D' exists in both 'C:\Program Files (x86)\MonoGame\v3.0\Assemblies\WindowsPhone\x86\MonoGame.Framework.dll' and 'C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Graphics.dll' c:\nightmare games\games\in production\boxland incorporated\boxland (monogame)\boxland\character_control.cs 55
Run Code Online (Sandbox Code Playgroud)
我得到以下类型的这些:
更新:
我试图从项目中删除 XNA,只使用 Monogame。删除程序集引用和“使用”语句会导致以下类型的大量“未找到类型或命名空间”错误:
我已经有了对 MonoGame.Framework 的程序集引用。为 MonoGame 添加新的 using 语句只会导致错误:
Error 4 The type or namespace name 'MonoGame' could not be found (are you missing a using directive or an assembly reference?) …Run Code Online (Sandbox Code Playgroud) 据我所知,我正确使用 malloc 将字符串分配为字符指针。
\n char* test = (char*) malloc (sizeof (char) * 4);\n\n test[0] = 't';\n test[1] = 'e';\n test[2] = 's';\n test[3] = 't';\n\n std::cout << test << "\\n";\nRun Code Online (Sandbox Code Playgroud)\n当我打印字符串时,末尾有多余的 ASCII 字符。
\ntest\xc2\xb2\xc2\xb2\xc2\xb2\xc2\xb2\xc3\x9fE\xe2\x95\x9c\xce\xb5\xe2\x94\xac\xc3\xb4\nRun Code Online (Sandbox Code Playgroud)\n我的预感是“test”中的字符占用的内存小于我分配的最大内存。\n我看到的额外文本可能是多余的内存,尚未写入任何有意义的内容。不过,我不一定知道分配时的确切长度,因为该字符串将动态组装。
\n我的问题是如何重构它以减少多余的内容。如果我知道字符串的字符长度,我可以以某种方式截断最终产品吗?有没有更好的方法来分配我不知道的空间?有没有办法限制打印的字符数?
\nc# ×8
sql-server ×2
wpf ×2
c++ ×1
cout ×1
data-binding ×1
excel ×1
facebook ×1
javascript ×1
listview ×1
localhost ×1
malloc ×1
memory ×1
monogame ×1
proxy ×1
string ×1
tfs ×1
tfs-workitem ×1
xaml ×1
xna ×1