小编Mae*_*ess的帖子

升级到VS 2012后Web部署失败

我有一个项目,对于localhost的发布(web部署)在VS 2010下工作.除了在VS 2012 RC中打开它之外,我没有对项目进行任何更改.

我尝试使用VS 2012 RC时发布的消息失败,并显示该服务不存在,即使该站点存在于IIS中并且可以发布到该站点.

现在,当我在VS 2010中打开项目并尝试发布时,发布失败并出现同样的问题.我没有尝试在VS 2012 RC中发布的其他项目仍然有工作发布配置文件.

有没有其他人遇到过这个问题,如果有的话,你做了什么来纠正它?我已经研究了为什么发布可能会失败的所有常见问题,但是将其他项目发布到IIS作为同一台机器上的本地主机正在运行,所以我认为排除任何失败的服务.

webdeploy visual-studio-2012

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

C# - 为什么我需要在向下转换之前向上转换为Object?

在C#中,我处于环境提供的以下类型的场景中:

public interface IFoo {
}

public abstract class Base {
}

public class Derived : Base, IFoo {
}

public class Arbitrary {
    public Base GetBase() { }
}
Run Code Online (Sandbox Code Playgroud)

这是我写的除此之外的内容.请注意,我可以在我的代码,保证Arbitrary.GetBase()始终返回的一个实例Derived.

public class Arbitrary2 : Arbitrary {
    public IFoo GetDerived() {
        return (IFoo)base.GetBase();
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,此代码失败,并显示消息"无法将类型'Base'转换为'IFoo'".

但如果我这样做,那么它的工作原理:

public class Arbitrary2 : Arbitrary {
    public IFoo GetDerived() {
        Object baseAsObject = base.GetBase();
        return (IFoo)baseAsObject ;
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么在我将它转发给IFoo之前​​需要将此向上转换为对象?这两段代码在功能上是相同的,如果转换无效,后者将在运行时可靠地崩溃.我不明白为什么编译器会抱怨.

c# inheritance casting

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

有没有更优雅的方法来使用linq来设置属性值?

我有以下代码模糊,它将选择我的XML中具有RatingNumericValue的所有数据元素,然后将该数据元素的值设置为RatingNumericValue的内容.我想知道这是否适合使用谓词.有没有更好的方法使用linq来做到这一点?

    Dim dataEls = From item In copy...<Table>...<Row>...<Cell>...<Data> Select item Where item.@RatingNumericValue IsNot Nothing
    For Each de In dataEls
        de.Value = de.@RatingNumericValue
    Next
Run Code Online (Sandbox Code Playgroud)

.net linq vb.net linq-to-xml

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