小编3Da*_*ave的帖子

C#short/long/int文字格式?

在C/C#/等中,你可以告诉编译器一个字面数字不是它看起来的样子(即float代替double,unsigned long而不是int:

var d = 1.0; // double
var f = 1.0f; // float
var u = 1UL; // unsigned long
Run Code Online (Sandbox Code Playgroud)

等等

有人能指出我这些的清单吗?我特意为short或寻找后缀Int16.

c# literals language-specifications

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

为什么这个C++片段编译(非void函数不返回值)

今天早上我在我的一个图书馆找到了这个:

static tvec4 Min(const tvec4& a, const tvec4& b, tvec4& out)
{
    tvec3::Min(a,b,out);
    out.w = min(a.w,b.w);
}
Run Code Online (Sandbox Code Playgroud)

我期望编译器错误,因为此方法不返回任何内容,并且返回类型不返回void.

想到的唯一两件事是

  • 在调用此方法的唯一位置,不使用或存储返回值.(此方法应该是void- tvec4返回类型是复制和粘贴错误)

  • tvec4正在创建一个默认构造,这看起来有点不同,哦,C++中的其他所有东西.

我还没有找到解决这个问题的C++规范部分.参考文献(ha)表示赞赏.

更新

某些情况下,这会在VS2012中生成错误.我没有缩小具体细节,但它仍然很有趣.

c++ methods c++11 visual-studio-2012

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

在开发,登台和生产环境之间区分web.config

任何人都有任何关于处理环境之间的web.config设置差异的好技巧?我考虑在我们的源代码管理系统中创建一个'config'文件夹,但在Web层次结构之外,并让部署过程复制相应的配置文件(web.dev.config,web.staging.config,web.production.config) )部署后进入Web文件夹.我还看过有关如何在应用程序启动时以编程方式更改配置设置(WCF端点,连接字符串等)的帖子.

什么被认为是最佳实践,以及每个人对这些或其他方法的经验是什么?

2010年9月更新

值得注意的是,Visual Studio 2010通过web.config转换添加了此功能.当您使用构建配置管理器(Build | Configuration Manager ...)为项目创建不同的配置(例如,Debug,Dev,Staging和Release)时,VS会将web.*.config文件添加到解决方案中.默认的web.config包含您将用于调试的基准设置.web.release.config,web.staging.config等包含XSLT转换,每当您基于活动构建配置发布项目时将应用这些转换.

asp.net deployment configuration web-config

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

ASP.NET MVC3 Razor - Html.ActionLink样式

我正在尝试设置动作链接的样式,如下所示:

  <text><p>Signed in as @Html.ActionLink(Context.User.Identity.Name,"Index",new { Controller="Account", @style="text-transform:capitalize;" })</p>
Run Code Online (Sandbox Code Playgroud)

我希望这个呈现为

<p>Signed in as <a href="Index" style="text-transform:capitalize;">MyName</a></p>
Run Code Online (Sandbox Code Playgroud)

但是,产生的是什么

<p>Signed in as <a href="/Account?style=text-transform%3Acapitalize%3B">MyName</a></p>
Run Code Online (Sandbox Code Playgroud)

将样式添加到url中.我究竟做错了什么?

css razor asp.net-mvc-3

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

ASP.NET MVC eurl.axd错误

使用以下步骤:

(我已经检查过这个类似的帖子,这不能解决我的问题.)

  1. 在Windows Server 2003/IIS6下,我创建了一个名为"testapp"的新站点
  2. 在VS2010中,我创建了一个新的ASP.NET MVC 2应用程序.
  3. 我添加了一个名为"Info"的视图,其中包含以下代码:

    <h2>System</h2>
    
    <h3>Request</h3>
    
    <%
        foreach (string key in Request.Headers)
        {
            Response.Write(string.Format("<p>{0}={1}</p>"
                    , key
                    , Request.Headers[key])
                    );
        }
    
    
    %>
    
    Run Code Online (Sandbox Code Playgroud)

除了标准头文件,我还看到了这个:

   X-REWRITE-URL=/home/info/eurl.axd/e3299f29f8043d4f8a27e0f1d0c40971
Run Code Online (Sandbox Code Playgroud)

我正在使用Helicon ISAPI Rewrite 3,它正在生成"X-REWRITE-URL"标题.

我的问题是:/eurl.axd?....来自哪里?我已经看过这篇文章,但由于这是一个带有新应用程序池的新文件夹中的空白应用程序,因此在此Web文件夹中没有运行2.0.*应用程序.没有虚拟文件夹指向另一个目录等.该站点配置为ASP.NET 4.0,已正确注册.

问题是eurl.axd正在调整我的MVC路由中的参数.

"ASP.NET 4.0重大更改"一文中的选项并不适用于我,因为此应用程序中没有任何2.0组件,我需要使用无扩展名的URL.

更新我刚刚注意到GAC中的System.Web.MVC是版本2.0.0.0.是否应该通过安装VS2010和4.0框架将其更新到4.0?

我不明白为什么我在默认的ASP.NET MVC 2应用程序中看到此错误.救命!!

2011年2月更新 - 已解决

终于尝试通过注册表黑客禁用无扩展名URL,问题就消失了.我发现禁止无扩展的URL使得无扩展的URL工作(使用IIS6中的通配符映射)是违反直觉的,但我会采取我能得到的.

2014年12月更新

(风流|快乐|和平)(圣诞节|光明节|宽扎节|十二月).

我忘了提到每个其他Windows更新都会破坏注册表更改.这似乎是一个奇怪的问题,一个请求http://site.dom/bob会失败,而http://site.dom/bob/成功.玩得开心!(注意尾随斜杠.)

asp.net-mvc iis-6 .net-4.0

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

在ASP.NET中更改错误消息的语言

我使用瑞典语版本的Windows XP和Visual Studio Professional开发ASP.NET应用程序.什么时候我得到一个错误aka."死亡的黄色屏幕"错误信息是瑞典语,使搜索有关它的信息有点困难.

如何更改ASP.NET中的错误消息使用的语言?

我没有为.net框架安装语言包.然而,我正在运行一个带有瑞典语界面包的英文windows xp.

我的web.config中也有这个:

<system.web>
   <globalization uiCulture="en-US" />
</system.web>
Run Code Online (Sandbox Code Playgroud)

asp.net

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

是否可以通过lambda引用返回类型为T的对象而不使用尾随返回类型语法?

给出以下代码段:

struct T {}; 

std::function<T&(T&)> f = [](T& obj) -> T& { return obj; };
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以在T&不使用尾随返回类型语法的情况下推断出正确的lambda返回类型(即).

显然,如果我删除,-> T&那么将发生编译时错误,推导类型将是T.

c++ lambda c++11 trailing-return-type

25
推荐指数
3
解决办法
1874
查看次数

实现C#语言扩展

使用Parallel Linq等系统,可以跨单个机器中的多个内核和线程分离匿名函数,查询等的执行.我希望能够使用标准语言结构(例如for循环(如Parallel.For()),ints,structs 等值类型)扩展它以跨多台机器运行,并将应用程序源修改保持在最低限度.理想情况下,这将允许我打开一个项目,向方法添加属性,并重新编译以获得对增强功能的访问.

看来我需要的东西是:

  1. 能够捕获已编译的代码块(例如lambda)并将其传递给在另一个节点上运行的工作进程以及所需的任何数据,或者

  2. 提供一个预处理器,它将捕获有问题的代码,在一个模板项目中编译它,它将替换变量引用等,引用一个类来处理网络通信,缓存和访问任何其他所需资产,并发送将DLL生成到在其他计算机上运行的任何可用工作节点.

Roslyn似乎提供了一些在这里很有用的工具.有没有办法挂钩到当前的编译管道允许这个?

编辑

好吧,我知道这是可能的,因为这些人做到了.问题是,怎么样

c# language-extension

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

如何在C#中播放mp3文件?

我正在尝试使用本指南在C#中播放MP3文件:http: //www.crowsprogramming.com/archives/58

我正在列出所有内容,但我仍然无法在我的C#程序中播放任何音乐.谁能告诉我我做错了什么?

 static void Main(string[] args)
    {
        WMPLib.WindowsMediaPlayer a = new WMPLib.WindowsMediaPlayer();
        a.URL = "song.mp3";
        a.controls.play();
    }
Run Code Online (Sandbox Code Playgroud)

音乐文件"Song"位于bin文件夹中.

c# mp3

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

更改后,网站以某种方式运行缓存的dll

情况是我对一个类进行了一个小错误修复,因此他们只想部署受影响的dll.他们停止了IIS,用我给他们的新网站替换了网站iis目录的/ bin文件夹中的dll,然后再次启动iis.有多个服务器,但他们只是在一个服务器上进行了尝试.他们仍然在相关服务器的事件日志中看到相同的错误.查看堆栈跟踪,我可以告诉它正在运行旧的dll.

他们检查了GAC,但没有看到它.

我用反射器检查了dll以验证我给了他们正确的新dll.

这是一个asp.net 2.0网站,服务器是2003.我不知道它最初是如何部署的,但它在C:\ Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary中有旧dll的副本ASP.NET Files\NAME_services #################\assembly\dl3 ################### \和D :\ XXXX \网站\用户名\ SERVICES\OBJ \发布.它可以使用其中一个或构建旧的,甚至只是在内存中缓存它?

asp.net deployment iis-6

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