Tag: C#的

错误 – 无法访问IIS元数据库

安装Visual Studio 2012并打开我的解决scheme后,我得到了一系列的错误在这种forms: Web应用程序项目Foo被configuration为使用IIS。 无法访问IIS元数据库。 您没有足够的权限访问您的计算机上的IIS网站。 我为我们的每个Web应用程序得到这个。 我已经尝试过的事情: 以pipe理员身份运行Visual Studio 运行aspnet_regiis.exe -ga MyUserName 运行aspnet_regiis.exe -i 这些似乎是这个问题的常见解决办法,但我还没有取得任何成就。 还有什么我可以尝试做的?

为什么我们在C ++中使用volatile关键字?

可能重复: C ++:何时有易变的关键字曾帮助你? 我从来没有使用过,但我想知道为什么人们使用它? 它究竟做了什么? 我search了论坛,我发现它只有C#或Java主题。

元数据文件'.dll'找不到

我正在一个WPF,C#3.0项目,我得到这个错误: Error 1 Metadata file 'WORK=- \Tools\VersionManagementSystem\BusinessLogicLayer\bin\Debug \BusinessLogicLayer.dll' could not be found C:\-=WORK=- \Tools \VersionManagementSystem\VersionManagementSystem\CSC VersionManagementSystem 编辑: 这是我参考我的usercontrols xmlns:vms="clr-namespace:VersionManagementSystem" <vms:SignOffProjectListing Margin="5"/> 它发生在每个失败的构build之后。 解决scheme编译的唯一方法是注释掉所有的用户控件,然后构build项目,然后取消usercontrols的注释,一切正常。 我已经检查了构build命令,依赖configuration。 正如你可以看到它似乎已经截断了DLL的绝对path…我已经读过,有一个长度的错误。 这是一个可能的问题? 这是非常烦人的,不得不评论,build立,取消注释,build立变得非常烦人。

无法加载文件或程序集…参数不正确

最近我在C#解决scheme遇到以下exception: 错误2无法加载文件或程序集“Newtonsoft.Json,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b9a188c8922137c6”或其依赖项之一。 该参数不正确。 (从HRESULTexception:0x80070057(E_INVALIDARG)) 这不取决于我的代码或程序集的名称(如在这种情况下, Newtonsoft.Json )。 当我从解决scheme中删除这个dll时,编译器会告诉另一个exception。 所以我想应该关掉/打开我的电脑:)

C#中的GetHashCode指南

我阅读了基本的C#3.0和.NET 3.5书: 即使对象的数据发生变化,GetHashCode()在特定对象的生命周期内的返回值也应该是常数(相同的值)。 在许多情况下,您应该caching方法返回来执行此操作。 这是一个有效的指导方针吗? 我已经在.NET中尝试了几个内置types,他们不像这样。

C / C ++包含文件顺序/最佳实践

是否build议在包含文件应指定的顺序? 例如,系统文件,STL,Boost,之前的本地包含文件? 有一个特别的理由select一个或另一个? 我假设包含文件具有指定的适当的依赖关系。

const char * const与const char *?

我正在运行一些示例程序来熟悉C ++,我遇到了以下问题。 首先,这里是示例代码: void print_string(const char * the_string) { cout << the_string << endl; } int main () { print_string("What's up?"); } 在上面的代码中,print_string的参数可以是const char * const the_string 。 哪一个更准确呢? 我明白不同的是,一个是指向一个常量字符的指针,而另一个是指向一个常量字符的常量指针。 但为什么这两个工作呢? 什么时候它是相关的?

Visual Studio 2005编译时间非常慢

我们的编译时间非常慢,在双核2GHz,2G的Ram机器上可能需要20多分钟的时间。 这很大程度上是由于我们的解决scheme的规模已经增长到70多个项目,以及VSS本身就是瓶颈,当你有很多的文件。 (交换出VSS不是一个不幸的select,所以我不希望这下降到VSS bash) 我们正在考虑合并项目。 我们也正在寻求多种解决scheme来实现应用程序中每个元素的更多关注点和更快的编译时间。 当我们尝试保持同步时,我可以看到它将成为一个DLL地狱。 我很有兴趣知道其他团队如何处理这个扩展问题,当你的代码基数达到临界质量时,你会怎么做,你浪费了半天的时间来观察状态栏提供的编译信息。 更新我忽略提及这是一个C#解决scheme。 感谢所有C ++的build议,但是我不得不担心标题已经有几年了。 编辑: 很好的build议,迄今为止帮助(不说下面没有其他好的build议,只是有什么帮助) 新的3GHz笔记本电脑 – 失去利用的力量的工作奇迹时,pipe理呜咽 在编译期间禁用防病毒 在编译期间断开与VSS(实际上是networking)的连接 – 我可能会让我们完全删除VS-VSS集成,并坚持使用VSS UI 仍然没有通过编译啜饮,但每一点都有帮助。 猎户座在一个评论中也提到了generics也可能有戏剧性。 从我的testing看来,这似乎是一个最小的性能影响,但还不足以确定 – 由于光盘活动,编译时间可能不一致。 由于时间限制,我的testing没有包含尽可能多的generics,也没有包含尽可能多的代码,就像在实时系统中出现的那样,这样可能会累积起来。 我不会避免使用他们应该使用的generics,只是为了编译时的性能 替代方法 我们正在testing在新解决scheme中构build应用程序新领域的做法,根据需要导入最新的dll,当我们满意时将它们集成到更大的解决scheme中。 我们也可以通过创build临时解决scheme来完成与现有代码相同的操作,这些临时解决scheme只是将需要处理的区域封装起来,并在重新集成代码后将其扔掉。 我们需要权衡重新整合这些代码的时间,而不是让Rip Van Winkle喜欢在开发过程中快速重新编译的经验。

C#if / thendebuggingvs发布指令

在解决scheme的属性,我有configuration设置为“释放”我的唯一的项目。 在主例程的开始,我有这个代码,它显示“Mode = Debug”。 我也有这两条线: #define DEBUG #define RELEASE 我正在testing正确的variables? #if (DEBUG) Console.WriteLine("Mode=Debug"); #elif (RELEASE) Console.WriteLine("Mode=Release"); #endif 我的目标是根据debuggingvs释放模式为variables设置不同的默认值。

为什么我应该使用IHttpActionResult而不是HttpResponseMessage?

我一直在使用WebApi进行开发,并转向WebApi2,微软已经推出了一个新的IHttpActionResult接口,似乎build议用于返回一个HttpResponseMessage 。 我很困惑这个新界面的优点。 它似乎主要只是提供一个更轻松的方式来创build一个HttpResponseMessage 。 我会认为这是“抽象的抽象”。 我错过了什么吗? 除了可能保存一行代码之外,使用这个新界面的真实世界优势是什么? 旧的方式 (WebApi): public HttpResponseMessage Delete(int id) { var status = _Repository.DeleteCustomer(id); if (status) { return new HttpResponseMessage(HttpStatusCode.OK); } else { throw new HttpResponseException(HttpStatusCode.NotFound); } } 新方法 (WebApi2): public IHttpActionResult Delete(int id) { var status = _Repository.DeleteCustomer(id); if (status) { //return new HttpResponseMessage(HttpStatusCode.OK); return Ok(); } else { […]