小编Dan*_*rez的帖子

无法在visual studio 2010 sp1上安装silverlight 4工具

我安装了Visual Studio 2010(全新安装),然后应用了SP1.现在我已经尝试安装silverlight 4工具,但是我收到一条奇怪的错误信息:

"必须先安装与Silverlight Tools 4语言版本匹配的Visual Studio 2010或Visual Web Developer Express 2010或Visual Phone Developer Express 2010,然后才能继续安装Silverlight Tools .Silverlight Tools可以使用其他语言版本. http://go.microsoft.com/fwlink/?LinkId=177432.

必须先安装Visual Studio 2010的Visual Web Developer功能,然后才能继续安装."

我已经三次检查,没有语言冲突.浏览网页时,有些人有同样的错误,但是有一些MSDN帖子说用SP1你不需要安装silverlight工具,因为它们已经与SP1捆绑在一起,但事实并非如此,我不知道在VS中有任何项目模板用于silverlight,并且未安装工具.有任何想法吗??

silverlight visual-studio-2010 visual-studio silverlight-4.0

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

WCF,接口返回类型和KnownTypes

我正在创建一个WCF服务,我在一些序列化问题上遇到了很多麻烦.也许只有一种方法可以做到,但我想确认一下这是我的示例代码:

合同

public interface IAtm
    {
        [DataMember]
        double Latitude { get; set; }

        [DataMember]
        double Longitude { get; set; }
    }

[ServiceContract]
    public interface IAtmFinderService
    {

        [OperationContract]
        ICollection<IAtm> GetAtms();

    }
Run Code Online (Sandbox Code Playgroud)

服务实施:

[KnownType(typeof(Atm))]
[KnownType(typeof(List<Atm>))]
[ServiceKnownType(typeof(Atm))]
[ServiceKnownType(typeof(List<Atm>))]
public class AtmFinderService : IAtmFinderService
{
    public ICollection<IAtm> GetAtms()
    {
        return new List<IAtm>()
            {
                new Atm() { Latitude = 1, Longitude = 1 }, 
                new Atm() { Latitude = 2, Longitude = 2 } 
            };
    }
}
Run Code Online (Sandbox Code Playgroud)

我添加了所有的KnownType和ServiceKnownType属性,因为我认为那里缺少了一些东西..所以现在,我一直在做一些测试.我尝试创建一个控制台应用程序,使用"添加服务引用"方法使VS自动创建代理.这样,我得到了一个类似的功能

object[] GetAtms();
Run Code Online (Sandbox Code Playgroud)

当试图调用它时,我收到此错误:

InnerException消息是'Type'WCFTest.Atm',数据协定名称为'Atm:http://schemas.datacontract.org/2004/07/WCFTest'不是预期的.考虑使用DataContractResolver或将任何静态未知的类型添加到已知类型列表中 - 例如,通过使用KnownTypeAttribute属性或将它们添加到传递给DataContractSerializer的已知类型列表中.

非常好......那么,我认为VS的自动生成代码就是垃圾.我在我的服务(以及所有相关的类和实现)中做了以下更改: …

c# wcf visual-studio-2010 visual-studio

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

Visual Studio 2010"没有足够的存储空间可用于处理此命令"

我正在与VS 2010战斗,这个错误在以前的版本中似乎很常见,但看起来不是每个人都在最新版本中使用它.我有VS 2010 SP1,我经常遇到这个错误.

问题是,为了让它消失而重新启动VS还不够,我通常不得不重新启动我的PC,而且我很多时候都会这样做(这很频繁)

我有Windows 7 32位(不能升级到64位,公司不允许),我不能做像创建另一个解决方案(请不要回复:) :)

我已经使用了命令来制作devenv.exe LARGEADDRESSAWARE,但错误仍在继续.我的虚拟内存大小设置为自动,奇怪的是VS甚至不需要2GB的ram,所以我不知道错误是否真的是因为它缺少内存,或者它是否是程序中的一些错误

任何想法,尝试的东西,什么?

visual-studio-2010

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

Moq - 验证具有参数值的方法调用

我试图用Moq测试一个有"params"列表的方法被调用,但由于某种原因,这是失败的.方法签名是这样的:

void AttachAsModifiedToOrders(IOrder order, params 
       Expression<Func<IOrder, object>>[] modifiedProperties);
Run Code Online (Sandbox Code Playgroud)

然后在模拟设置中,我做了类似的事情,从模拟集合中做一个简单的"删除/插入":

MockEntities.Setup(n => n.AttachAsModifiedToOrders(It.IsAny<DataAccess.Order>()))
    .Callback<IOrder, Expression<Func<IOrder, object>>[]>((order, expr) => 
      { Orders.Remove(Orders.Where(o => o.Id== order.Id).First()); 
      Orders.Add((DataAccess.Order)order); });
Run Code Online (Sandbox Code Playgroud)

最后,验证:

MockEntities.Verify(x => x.AttachAsModifiedToOrders(It.IsAny<Order>(), 
     It.IsAny<Expression<Func<IOrder, object>>>()), Times.Exactly(1));
Run Code Online (Sandbox Code Playgroud)

我已经检查过了,代码执行正常并调用了方法(模拟的方法),但验证失败了.我错过了什么吗?或者仅仅是Moq不支持这种"params"呼叫?

.net c# unit-testing moq

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

为C#MVC ASP.NET应用程序创建的默认数据库在哪里?

我在启动时使用登录/注册脚本获得了新的MVC ASP.NET应用程序,它运行正常,但我不知道这个应用程序的默认数据库在哪里.我的App_Data文件夹为空.有人可以告诉我表单注册中的数据保存在哪里.

c# database asp.net asp.net-mvc visual-studio-2015

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

AggregateException和WCF

我正在调用一个WCF服务,它在某些条件下返回一个AggregateException,其中包含通过调用发生的所有问题

另一方面,我得到一个FaultException(这是有道理的,因为WCF只能理解这些异常).问题是,合同的细节不是聚合例外.就好像默认情况下,WCF获取AggregateException异常列表(InnerExceptions)的第一个异常,并封装它.所以在客户端,我只是获得了列表的第一个例外.经过调查,我做了以下事情:

将此添加到合同中

[FaultContract(typeof(AggregateException))]
Run Code Online (Sandbox Code Playgroud)

然后在服务电话上..

try
{
    BaseService.Blabla.Delete(item);
}
catch (AggregateException ex)
{
    throw new FaultException<AggregateException>(ex);
}  
Run Code Online (Sandbox Code Playgroud)

但另一方面,这是:

catch (FaultException<AggregateException> ex)
{
    string msg = string.Empty;
    foreach (var innerException in ex.Detail.InnerExceptions)
    {
        msg += innerException + Environment.NewLine;
    }
    MessageBox.Show(msg);
}
catch (Exception ex)
{
    throw ex;
}
Run Code Online (Sandbox Code Playgroud)

它正在进入异常捕获语句,并得到这样的错误(这显然是一些随机错误,因为我没有任何连接问题,并且调试此立即返回,4分钟从未通过):

The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local …
Run Code Online (Sandbox Code Playgroud)

c# wcf exception-handling

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

装饰模式问题C#/ java

我正在看这篇维基百科文章,无法理解这是怎么回事.有点沮丧只是通过查看它无法理解代码,我决定将代码移植到c#(我是.net,对不起家伙:)).只需要一些小修改(继承和扩展,基于超级等)并运行应用程序.令我惊讶的是,我得到了以下输出:

Cost: 1 Ingredient: Coffee
Cost: 1 Ingredient: Coffee
Cost: 1 Ingredient: Coffee
Cost: 1 Ingredient: Coffee
Run Code Online (Sandbox Code Playgroud)

只是好奇,任何java开发都可以告诉我这里有什么不同以及为什么维基百科示例有效(如果它确实有效,就像它们所说的那样).

    namespace ConsoleApplication1
{
 class Program
 {
  static void Main(string[] args)
  {

  Coffee sampleCoffee = new SimpleCoffee();
  Console.WriteLine("Cost: " + sampleCoffee.getCost() + " Ingredient: " + sampleCoffee.getIngredient());

        sampleCoffee = new Milk(sampleCoffee);
        Console.WriteLine("Cost: " + sampleCoffee.getCost() + " Ingredient: " + sampleCoffee.getIngredient());

        sampleCoffee = new Sprinkles(sampleCoffee);
        Console.WriteLine("Cost: " + sampleCoffee.getCost() + " Ingredient: " + sampleCoffee.getIngredient());

        sampleCoffee = new Whip(sampleCoffee);
        Console.WriteLine("Cost: " …
Run Code Online (Sandbox Code Playgroud)

c# java design-patterns decorator

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

HttpWebRequest未设置Cookie

我试图做一些简单的东西,我已经看了通过网络的例子,我不知道是什么,我做错了这是我正在做测试某些功能的单元测试,后来会由一些不同的设备执行
基本上我正在创建一个webrequest到我的网站,它返回一组cookie,我们稍后需要
然后我想创建一个新的webrequest,使用从第一个响应返回的cookie,但当我在阅读该信息时,cookie是空的

var request =   (HttpWebRequest)WebRequest.Create("http://localhost/bla");
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "GET";

request.CookieContainer = new CookieContainer();
request.CookieContainer.Add(originalResponse.Cookies); // originalResponse.Cookies has several cookies needed by "bla"
var response = request.GetResponse();
Run Code Online (Sandbox Code Playgroud)

在另一个地方......(在"bla"里面)

HttpContext.Current.Request.Cookies  // this is empty
Run Code Online (Sandbox Code Playgroud)

c# asp.net cookies

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

基于 DataContext 设置的 WPF 按钮内容

我正在使用 WPF 和 MVVM 模式,我有一个由按钮组成的简单视图,它应该根据 DataContext(视图模型)的属性显示一件事或另一件事我已经使用数据触发器和数据模板来尝试使这项工作,但由于某种原因绑定没有评估(或者我做错了什么)。

    <Button x:Class="EpicNavalBattle.View.PositionView"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 

        >
    <Button.Resources>
        <DataTemplate x:Key="Hidden">
            <Label Content="Hidden"></Label>
        </DataTemplate>
        <DataTemplate x:Key="Shown">
            <Label Content="{Binding Path=Content.ContentName}" />
        </DataTemplate>



    </Button.Resources>
    <Button.Style>
        <Style TargetType="{x:Type Button}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Revealed}" Value="False">
                    <Setter Property="ContentTemplate" Value="{DynamicResource Hidden}"></Setter>

                </DataTrigger>
                <DataTrigger Binding="{Binding Revealed}" Value="True">
                    <Setter Property="ContentTemplate" Value="{DynamicResource Shown}"></Setter>

                </DataTrigger>
            </Style.Triggers>
        </Style>

    </Button.Style>


</Button>
Run Code Online (Sandbox Code Playgroud)

只是为了避免混淆:Content 是 ViewModel(继承的数据上下文)的属性,它基本上是 Model 类,ContentName 是 Model 类的属性。对整个数据模板进行了评估,因为为了证明这一点,我更改了文本的 Content="Binding...." 内容,它实际上显示了一个带有指定标签的按钮。现在,我看到的只是没有文字的按钮(小,最小尺寸)任何帮助表示赞赏(不仅关于如何解决这个问题,而且关于我在这里做错了什么)。谢谢!

c# wpf

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

Asp .net MVC 5 Route属性,路由之间的id

我试图在MVC中设置路由,以便在POST到以下url时

/organizations/55/repositories
Run Code Online (Sandbox Code Playgroud)

我得到组织55的所有存储库我尝试使用以下路由但无济于事,它从未到达控制器操作方法

[Route("/organizations/{id}/repositories")]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Repositories(long id, OrganizationSearchParametersDTO parameters)
Run Code Online (Sandbox Code Playgroud)

但是,如果我在RegisterRoutes方法中执行它,它的工作原理如下:

routes.MapRoute("OrganizationControllerRoute", "organizations/{id}/repositories", new {controller = "Organizations", action = "Repositories"});
Run Code Online (Sandbox Code Playgroud)

但我更喜欢让它运行使用属性,因为这是我们的工作方式我做错了什么,有什么想法吗?

.net c# asp.net-mvc asp.net-mvc-5

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

数据绑定属性更改时执行故事板

只是这个.我希望当例如TextBlock的数据绑定属性Text更改时,执行动画以向用户提供一些反馈.如何才能做到这一点??谢谢!

silverlight windows-phone-7

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