小编Nig*_*mes的帖子

Charles Proxy导致隐私错误

我正在使用Charles代理来自localhost的文件来测试Facebook游戏的功能.这在昨天工作,现在突然转向代理结果导致Chrome的隐私错误:

"您的连接不是私有的,NET:ERR_CERT_AUTHORITY_INVALID".

我也从Safari和Firefox获得了类似的消息.禁用Mac OSX代理允许我再次加载游戏.其他网站被击中或错过.例如,谷歌似乎受到影响,但不是亚马逊.

我不确定在Charles的设置中要检查什么,因为它没有很多文档(我不相信我已经改变了任何东西,因为它最后工作).

javascript proxy facebook localhost charles-proxy

16
推荐指数
2
解决办法
8501
查看次数

如何在C#中从TFS中检索工作项列表?

我正在尝试用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)

c# tfs tfs-workitem

12
推荐指数
1
解决办法
2万
查看次数

实体框架不为表或过程生成类

我正在使用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数据模型.

c# sql-server entity-framework ado.net-entity-data-model

7
推荐指数
2
解决办法
2万
查看次数

实体数据模型向导不显示新表

我使用Microsoft SQL Server 2012从脚本创建了一个sql数据库,并使用实体框架在C#中生成了一些类.现在我必须修改并向该数据库添加许多新项目,包括存储过程和新表.

但是,在尝试重新生成Visual Studio Ultimate 2012中的类时,实体数据模型向导仍然显示旧数据库(它在一周前的样子),包括我删除的一些表.没有列出新的东西.我已经尝试删除并重新创建数据库,重新启动两个程序,并重新启动电脑无效.

我在Visual Studio中生成框架所采取的步骤是:

  • 向项目添加新项目.
  • 选择ADO.NET实体数据模型.
  • 从数据库中选择Code First.
  • 选择Next(已填写连接字符串).
  • 下一个屏幕是"选择对象和设置"窗口,这是我仍然看到旧表(而不是新表)的位置.

在更改数据库以使这些更改显示在实体框架中之后,我需要采取一些特殊步骤吗?

更新:

我在"从数据库更新模型"选项方面处于领先地位,但我的Visual Studio没有这样的选项.网络搜索表明它在"模型浏览器窗口"中找到,我在VS中也找不到它.进一步搜索表明在打开"edmx"文件后该窗口变为可用.我在整个电脑上搜索了该文件扩展名并找到了一些结果,但它们都来自其他人的项目.我找不到与该项目的c#解决方案或sql数据库相关联的.edmx.

c# sql-server entity-framework visual-studio-2012

6
推荐指数
2
解决办法
2万
查看次数

当ValidationRule失败时,属性绑定不会更新

我在输入字段中有几个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# wpf xaml validationrules

5
推荐指数
2
解决办法
2272
查看次数

无法转换"Microsoft.Office.Interop.Excel.WorksheetClass"类型的COM对象

我正在尝试从一堆聚合数据中创建并在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#文档中找不到任何表明这不起作用的内容.

c# excel

4
推荐指数
1
解决办法
1万
查看次数

Visual Studio 可以运行,但不能使用开始按钮或 F5 进行构建

当按下开始按钮或 F5 键时,我的 Visual Studio 2017 会运行程序的最后构建版本,但如果我事先使用“构建”->“构建解决方案”或 ctrl + shift + B,它只会反映最近的更改。

即使使用键盘快捷键,按 ctrl+shift+b 进行构建通常很乏味(用一只手已经很尴尬),等待解决方案编译(根据项目的不同,可能需要一秒到几分钟),然后然后按F5运行。

如果我可以使用标准的构建+运行快捷方式,这将节省大量时间和便利。然而,我不确定我应该寻找什么设置。

更新:

检查工具->选项->环境->键盘,看起来我的Debug.Start设置为F5,所以这不是键盘快捷键的问题。

c# visual-studio

4
推荐指数
1
解决办法
2815
查看次数

WPF:在ListView的ObservableCollection外部进行绑定

在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)

c# data-binding wpf listview observablecollection

2
推荐指数
1
解决办法
1433
查看次数

升级 Monogame:Monogame 和 XNA 中都存在该类型

我刚刚下载了最新版本的 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)

我得到以下类型的这些:

  • 纹理2D
  • 图形设备
  • 颜色
  • 矢量 4
  • 数学助手

更新:

我试图从项目中删除 XNA,只使用 Monogame。删除程序集引用和“使用”语句会导致以下类型的大量“未找到类型或命名空间”错误:

  • 纹理2D
  • 游戏
  • 游戏时间
  • 精灵批处理
  • 音效
  • 和许多其他人

我已经有了对 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)

c# xna visual-studio monogame

2
推荐指数
1
解决办法
1812
查看次数

使用 malloc 分配的 C++ 字符指针字符串在打印时包含乱码

据我所知,我正确使用 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";\n
Run Code Online (Sandbox Code Playgroud)\n

当我打印字符串时,末尾有多余的 ASCII 字符。

\n
test\xc2\xb2\xc2\xb2\xc2\xb2\xc2\xb2\xc3\x9fE\xe2\x95\x9c\xce\xb5\xe2\x94\xac\xc3\xb4\n
Run Code Online (Sandbox Code Playgroud)\n

我的预感是“test”中的字符占用的内存小于我分配的最大内存。\n我看到的额外文本可能是多余的内存,尚未写入任何有意义的内容。不过,我不一定知道分配时的确切长度,因为该字符串将动态组装。

\n

我的问题是如何重构它以减少多余的内容。如果我知道字符串的字符长度,我可以以某种方式截断最终产品吗?有没有更好的方法来分配我不知道的空间?有没有办法限制打印的字符数?

\n

c++ memory string malloc cout

0
推荐指数
1
解决办法
63
查看次数