小编Mic*_*ing的帖子

"这种类型的页面不会被提供." 尝试浏览*.cshtml文件时出错

我只是创建一个新的MVC 4 Web API项目,并创建一个新的.cshtml文件,其中包含非常简单的HTML:

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title></title>
</head>
<body>
    <div>

    </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

打开URL时,将显示以下错误:

'/'应用程序中的服务器错误.

此类页面不会提供.

描述:未提供您请求的页面类型,因为它已被明确禁止.扩展名".cshtml"可能不正确.请查看下面的网址,确保拼写正确.

请求的URL:/index.cshtml

我在一位同事的开发机器上测试了这个场景(完全相同的项目).它按预期工作.所以我想配置或某些安装肯定有问题.但在哪里搜索?本地IIS和Visual Studio Development Server都不起作用.

UPDATE

直接访问.cshtml文件不适用于生产代码 - 用于培训目的!导航到/Home/Index完美的工作.所以没有别的,这显然是错的.只是直接访问.cshtml文件.

c# asp.net-mvc

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

是否更适合测试构造函数是否抛出异常?

通常,如果在某种方法中抛出异常,则进行测试,如下所示.我使用FluentAssertions:

[Fact]
public void Exception_gets_thrown()
{
    // Arrange
    var foo = new Foo("validArgument");

    // Act/Assert
    foo.Invoking(f => f.Bar(null))            // null is an invalid argument
       .ShouldThrow<ArgumentNullException>();
}
Run Code Online (Sandbox Code Playgroud)

但是如果在构造函数中抛出异常,如何测试呢?我只是这样做了,但是通过FluentAssertions可能有更合适的方法吗?

[Fact]
public void Constructor_throws_Exception()
{
    // Arrange
    Action a = () => new Foo(null);         // null is an invalid argument

    // Act/Assert
    a.ShouldThrow<ArgumentNullException>();
}
Run Code Online (Sandbox Code Playgroud)

.net c# unit-testing xunit.net fluent-assertions

20
推荐指数
1
解决办法
5798
查看次数

使用Type变量强制转换对象

当然,以下内容不起作用.有没有可能的方法,这是非常相似的?

Type newObjectType = typeof(MyClass);

var newObject = givenObject as newObjectType;
Run Code Online (Sandbox Code Playgroud)

c# types

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

如何在ASP.NET Web API中设置默认序列化程序?

我目前正在观看有关ASP.NET Web API的视频课程.调用控制器时,默认情况下会以JSON格式返回数据.我只是想知道,因为当我从视频中复制这个示例项目时,我得到了XML.

沮丧很大,请帮我解决这个问题.

我是ASP.NET Web API的新手,所以请耐心等待.

UPDATE

控制器不包含特殊代码.这是简单的代码,它是从带有空读/写操作模板的API控制器生成的.

asp.net-web-api

14
推荐指数
3
解决办法
6863
查看次数

如何删除visual studio中的测试项目?

最近我遇到了一个问题(无法从程序集'...'加载类型'...')我的测试项目(Visual Studio 2010中的单元测试),所以我尝试(在这里寻找解决方案后)删除它和重写它.我通过右键单击解决方案资源管理器中的项目并选择"删除"来删除它.不过,我可以看到该项目仍然存在,如果我正在查看文件夹(整个解决方案),通过Windows ...

如何正确完整地删除测试项目?(我做了备份......)

c# projects-and-solutions solution visual-studio-2010

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

ValueTuple结构只能作为变量变化吗?

我玩弄了ValueTuple结构并试图实现一个不可变的复合键.密钥由值类型组成.

我尝试用一​​些单元测试打破以下实现,到目前为止还没有成功.我错过了什么吗?

这也只是出于好奇,我想ValueTuple在.NET 4.7发布之前得到s和它的局限性.

到目前为止,我对a的理解ValueTuple是它只作为变量而不是作为字段或属性变化.不知道"可变"在这里意味着什么.更改ValueTuple实例实际上是否创建了一个新的ValueTuple(就像它的常识一样,字符串是"不可变的"但实际上是引用类型)?

这个答案

System.ValueTuple不仅是一个struct,它是一个可变的,并且在使用它们时必须要小心.想想当一个班级System.ValueTuple作为一个领域时会发生什么.

在这里我的实施和测试

public interface IHaveCompositeKey
{
    (Guid id, string name) Key { get; }
}

public class ImmutableKey : IHaveCompositeKey
{
    public (Guid id, string name) Key { get; }
    public ImmutableKey((Guid id, string name) key) => Key = key;
    public override int GetHashCode() => Key.GetHashCode();
    public override bool Equals(object obj)
    { …
Run Code Online (Sandbox Code Playgroud)

c# immutability mutability valuetuple

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

如何将 IEnumerable&lt;string&gt; 绑定到 ListBox?

这可能是一个非常简单的问题,但目前我实际上不知道该谷歌什么。

如果我有一个这样的对象:

public class Employee
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在我的 VM 中,我有一个员工列表 ( public List<Employee> Employees)。在我的 Xaml 中将它绑定到 ListBox 很容易:

<ListBox ItemsSource={Binding Employees}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel>
                <TextBlock Text="{Binding FirstName}"/>
                <TextBlock Text="{Binding LastName}"/>
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)

但是如果我的员工列表包含字符串而不是Employee对象呢?如何将这些字符串值绑定到TextBlock数据模板中?

c# xaml binding listbox

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

康威的生命游戏 - 初始化

假设我们有一个包含 30 列和 30 行的网格。

生命游戏规则简而言之:

  • 一个小区有八个相邻小区
  • 当一个细胞有三个活的相邻细胞时,该细胞就会存活
  • 如果一个细胞恰好有两个或三个活的相邻细胞,那么它就能生存

但是如何初始化一个确定大小的网格呢?是否存在如何精确初始化某些单元格的规则?

.net c#

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

有和没有画布的模糊线条.无法实现像素捕捉的任何方式?

以下问题.我只是想用C#画小东西.我想用Canvas做这件事.但即使没有画布,线条也显得模糊不清.在一个简单的演示项目中已经失败的最简单的事情是遵循以下代码:

<UserControl x:Class="Drawing.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400">

    <Grid x:Name="LayoutRoot" Background="White">
        <Line Y1="1" Y2="300" StrokeThickness="1" 
              Stroke="Black" Margin="10 0 0 0"/>
    </Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)

这条线显示模糊.我已经尝试了这么多,但我无法弄清楚如何实现清晰和一个像素宽的线条.

我试过以下事情:

  • UseLayoutRounding="True"
  • 我尝试了这里提供的像素管理器类 - 这对我来说也不起作用.这里是Xavier Poinas(线程)的答案,他有明显相同的问题并且也失败了这个自定义像素笛鲷:"坐标我似乎明白这个类的工作方式是将项目的边界捕捉到圆形像素,但是坐标我使用的已经是整数,并且在路径的情况下,捕捉边界可能并不意味着内容也落在圆形像素上." )

如果找到解决方案,那将是很好的,它允许我捕捉由Canvas持有的线条.

原因是:出于技术原因,我们需要一个无边框的OOB应用程序,它实现了自定义边框(调整大小)以及一个自定义应用程序栏,其中包含最小化,最大化和关闭项目.我只是尝试通过线路等手绘这些图标:

BarIcons

可能有更简单的方法吗?我只是不想使用图像资源.谢谢!

任何帮助将大大赞赏.

.net c# silverlight

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

Environment.GetFolderPath(Environment.SpecialFolder.SOMETHING)

我一直在尝试大部分的Enviroment.SpecialFolder枚举,但我认为只有枚举才能实现我想要完成的任何方式.使用这种string.Substring()方法给我带来了最重要的.

我试着只获得系统分区路径,其中实际安装了Windows.在机器A上它可能是C:\,在机器B上它可能是D:\.

到目前为止,我找到了最充分的解决方案

var path = Environment.GetFolderPath(Environment.SpecialFolder.Windows)
                      .Substring(0, 3);
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?谢谢.

.net c#

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