小编Sel*_*Net的帖子

Visual Studio - 突然无法调试测试

我不确定我做了什么,但突然之间,我的Visual Studio 2012将不会调试任何测试.

如果我从Test Explorer中选择一个测试并告诉它运行,它只是在Test Output窗口输出:

> ------ Discover test started ------
> ========== Discover test finished: 29 found (0:00:01.3371755) ==========
> ------ Run test started ------ Process with an Id of -1 is not running.
> ========== Run test finished: 0 run (0:00:01.4711861) ==========
Run Code Online (Sandbox Code Playgroud)

这是什么意思?!执行此操作几次后,错误更改为:

The Operation was Cancelled
Run Code Online (Sandbox Code Playgroud)

我当然没有这样做.

它是在列表中的每个测试中执行此操作.

但是,我可以运行测试没有问题,他们通过...但我无法调试测试.

我可以做些什么?我没有主动进入任何设置并改变任何东西,也许是某个地方的流浪点击,但在哪里?

visual-studio visual-studio-debugging vs-unit-testing-framework visual-studio-2012 visual-studio-2017

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

为什么HttpWebRequest抛出异常而不是返回HttpStatusCode.NotFound?

我正在尝试使用HttpWebRequest来验证Url的存在.我找到了几个基本上做的例子:

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(Url);
request.Method = "HEAD";
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
    return response.StatusCode;
}
Run Code Online (Sandbox Code Playgroud)

但是,如果url确实被破坏了,它不会返回响应,而是抛出异常.

我修改了我的代码:

try
{
    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(Url);
    request.Method = "HEAD";
    using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
    {
        return response.StatusCode;
    }
}
catch (System.Net.WebException ex)
{
    var response = ex.Response as HttpWebResponse;
    return response == null ? HttpStatusCode.InternalServerError : response.StatusCode;
}
Run Code Online (Sandbox Code Playgroud)

这似乎终于做了我想要的.

但我想知道,为什么请求抛出异常而不是使用NotFound状态代码返回响应?

c# asp.net httpwebrequest http-status-code-404

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

将json字符反序列化为枚举

我有一个用C#定义的枚举,我将它的值存储为字符,如下所示:

public enum CardType
{
    Artist = 'A',
    Contemporary = 'C',
    Historical = 'H',
    Musician = 'M',
    Sports = 'S',
    Writer = 'W'
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用JSON.NET反序列化,但传入的JSON是使用CHAR值(字符串)而不是枚举的int值编写的,如下所示:

[{"CardType","A"},{"CardType", "C"}]
Run Code Online (Sandbox Code Playgroud)

是否可以定义某种转换器,允许我手动将char解析为枚举值?

我尝试创建一个JsonConverter,但不知道该怎么做,同时只将它应用于此属性而不是整个解析对象.这是我试过的:

public class EnumerationConverter : JsonConverter
{
    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
    {
        serializer.Serialize(writer, value);
    }

    public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
    {
        if (reader.TokenType == JsonToken.Null)
        {
            return null;
        }

        int value = serializer.Deserialize<int>(reader);
        return (CardType)value;
    }

    public override bool CanConvert(Type objectType) …
Run Code Online (Sandbox Code Playgroud)

c# json enumeration json.net json-deserialization

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

visual studio:无法删除文件夹此系统不支持此功能

显然,我是互联网上遇到此问题的唯一一个,因为我可以找到ZERO其他人遇到它的其他报告.不幸的是,我已经处理了好几个月,我不知道还能做什么.

有时当我尝试从visual studio 2010中删除文件夹时,我收到错误

无法删除文件夹'XXXX'此系统不支持此功能

除非我重启机器,否则我无法从文件系统中删除它.显然在某个地方有锁,但我找不到它.我试图使用Unlocker,但这在Windows 7 x64上不起作用,所以我卡住了.

这种情况最常发生在App_Theme文件夹中,尽管它也适用于其他文件夹.

我怀疑它与源代码控制有关(我们使用的是sourcegear堡垒),但是我在个人项目中遇到了这个错误,而且我没有使用源代码控制......

所以有人有任何想法吗?已经有人在那里遇到过这个问题?请帮助,这很快就会让我感到精神错乱.

visual-studio-2010

10
推荐指数
1
解决办法
2229
查看次数

对如何在C#中使用JSON感到困惑

关于使用C#和JSON的每一个问题的答案似乎是"使用JSON.NET",但这不是我正在寻找的答案.

我说的原因是,从我在文档中可以阅读的所有内容来看,JSON.NET基本上只是构建在.NET框架中的DataContractSerializer的更好表现版本......

这意味着如果我想反序列化一个JSON字符串,我必须为我可能拥有的每个请求定义完整的强类型类.因此,如果我需要获取类别,帖子,作者,标签等,我必须为这些内容中的每一个定义一个新类.

如果我构建了客户端并确切知道字段是什么,这很好,但是我正在使用别人的API,所以我不知道合同是什么,除非我下载一个示例响应字符串并从JSON字符串手动创建类.

这是唯一的方法吗?有没有办法让它创建一种可以用json ["propertyname"]读取的哈希表?

最后,如果我自己必须自己构建类,那么当API发生变化而他们没有告诉我(因为Twitter似乎因为这样做而臭名昭着)时会发生什么?我猜我的整个项目都会破坏,直到我进入并更新对象属性...

那么使用JSON时的一般工作流程到底是什么?一般来说,我的意思是与图书馆无关.我想知道它是如何完成的,而不是专门针对目标库......

.net c# serialization json datacontract

9
推荐指数
1
解决办法
3738
查看次数

将asp.net core 2.0 url重定向到小写

我已经看到你可以在ASP.NET Core 2.0中配置路由以生成小写网址,如下所述:https://stackoverflow.com/a/45777372/83825

使用这个:

services.AddRouting(options => options.LowercaseUrls = true);
Run Code Online (Sandbox Code Playgroud)

但是,虽然这对于生成URL很好,但它似乎没有做任何实际的ENFORCE,也就是说,将任何非全部小写的URL重定向到相应的小写URL(最好是通过301重定向).

我知道人们通过不同的套管网址访问我的网站,我希望它们永久都是小写的.

通过RewriteOptions和Regex进行标准重定向是唯一的方法吗?这样做的恰当表达方式是什么:

var options = new RewriteOptions().AddRedirect("???", "????");
Run Code Online (Sandbox Code Playgroud)

或者还有另一种方式吗?

lowercase url-redirection asp.net-core-2.0

9
推荐指数
1
解决办法
1339
查看次数

在不启动浏览器或调试器的情况下从 Visual Studio 启动 IIS express

在任何人关闭这个问题进行重复这一块,这个问题不是问如何启动IIS表示按F5键,而不是启动浏览器,笔记......我知道该怎么做。

我要问的是如何在不按 F5 或右键单击解决方案资源管理器并选择“在浏览器中查看”的情况下为当前项目启动 IIS express 服务器。

场景是这样的:

  1. 我打开我的 Web 项目,右键单击该项目并选择“在浏览器中查看”。IIS Express 启动了该站点,我是一个快乐的露营者。
  2. 由于某种原因,IIS Express 已关闭,但我的浏览器仍与该网站一起打开。
  3. 我想再次启动 IIS Express,这样我就可以从我在现有浏览器中停下的地方继续,但没有选择这样做。我必须再次“在浏览器中查看”并关闭新窗口,或者按 f5 启动调试器,当我停止它时它会退出 IIS express。

那么,在这种情况下,是否可以简单地“启动”当前项目的 IIS Express 服务器,而无需手动启动页面或启动调试器?

visual-studio iis-express

7
推荐指数
1
解决办法
3651
查看次数

寻求Akavache文档或示例

我在周末发现了Akavache,它看起来是一个很好的强烈建议的解决方案,用于缓存Win8和WP8上的项目.

但是,我找不到任何有关如何使用它的实际示例或文档!

有没有人可以分享任何示例项目或文档?

caching windows-phone windows-8

6
推荐指数
1
解决办法
2643
查看次数

如何确定.NET SyndicationFeed(RSS与Atom)的Feed类型?

是否可以从System.ServiceModel.Syndication.SyndicationFeed实例确定正在读取什么类型的SyndicationFeed?如果我只有url(blahblah.com/feed)它可能是rss或atom,并且取决于我想做一件事或另一件事的类型.

有没有一种简单的方法可以在不解析文档和查找特定字符的情况下判断?

.net rss asp.net-3.5 syndicationfeed atom-feed

5
推荐指数
1
解决办法
2021
查看次数

将用户配置文件数据存储在用户表还是单独的配置文件表中?

我正在开发一个需要用户表的快速项目,并且希望他们能够存储配置文件数据。当我意识到用户将永远只有一个配置文件时,我已经接触到ASP.NET配置文件提供程序。

我意识到,频繁更改的数据会影响诸如索引和内容之类的性能,但是太频繁了又太频繁了?

如果我每个月每个用户要更改1000个用户的个人资料,那么很多吗?

还是我们说的更像是用户每小时更改一次个人资料数据?

我意识到这不是一门精确的科学,但是我正在尝试确定阈值在何时达到峰值,并且由于我的用户个人资料数据可能很少改变,如果我应该费心额外的工作或仅等待几十年的时间成为一个问题。

database asp.net normalization profiles

5
推荐指数
1
解决办法
4396
查看次数

C#:从其基类的实例(泛型列表)返回一个继承的类

这可能是我完全倒退的事情,但我想更多地了解我做错了什么......

我已经声明一个类只是一个通用列表的直接继承(完成简化命名),如下所示:

public class FooList : List<Foo> {}
Run Code Online (Sandbox Code Playgroud)

现在在另一个完全独立于这个类的方法中,我试图返回这个类的实例,但是我想根据一个标准过滤类,所以我使用了一个lambda表达式:

var list = new FooList(); // imagine this fills it with different items
var filtered = list.FindAll(c => c.Something == "filter criteria");
Run Code Online (Sandbox Code Playgroud)

现在根据FindAll方法,这应该返回一个List [Foo].但是,我想将此对象作为FooList返回,而不是List [Foo].我是否必须创建一个新的FooList实例并从List [Foo]中复制这些项目?

如果是这样,为什么?为什么我不能直接将List转换为FooList,因为它们是同一个对象?

如果可以这样做,我该怎么办?

非常感谢!

c# inheritance generic-list

4
推荐指数
2
解决办法
822
查看次数

Xamarin表单绑定到对象属性

我似乎在Xamarin Forms项目中的数据绑定有问题。我有两种视图:一种用于列出项目,另一种用于查看详细信息。

列表视图可以很好地加载项目列表及其所有属性,但是详细信息页面为空白,并且不会绑定到属性。

列表的视图模型如下所示:

public class MainPageViewModel : ViewModelBase
{
    public MainPageViewModel(IItemService itemService) : base(itemService) { }

    public ObservableCollection<ItemModel> Items { get; set; } = new ObservableCollection<ItemModel>();

    public async override void Start()
    {
        base.Start();

        Items.Clear();

        var results = await service.GetItems();
        foreach (var result in results)
        {
            Items.Add(result);
        }

        IsLoading = false;
    }
}
Run Code Online (Sandbox Code Playgroud)

并绑定到此xaml:

<ListView x:Name="ItemListView" ItemsSource="{Binding Items}" ItemSelected="ItemListView_ItemSelected">
    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell>
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="100" />
                        <ColumnDefinition Width="*" />
                    </Grid.ColumnDefinitions>
                    <StackLayout Orientation="Vertical">
                        <Image Source="{Binding Image}" />
                    </StackLayout>
                    <StackLayout Orientation="Vertical" …
Run Code Online (Sandbox Code Playgroud)

c# data-binding xaml mvvm xamarin.forms

3
推荐指数
1
解决办法
5404
查看次数