小编Mih*_*șan的帖子

C#LINQ谓词类型参数

我有一个XElement,其中包含模拟数据的值.

我有一个表达式来查询xml:

Expression<Func<XElement, bool>> simpleXmlFunction = 
    b => int.Parse(b.Element("FooId").Value) == 12;
Run Code Online (Sandbox Code Playgroud)

用于:

var simpleXml = xml.Elements("Foo").Where(simpleXmlFunction).First();
Run Code Online (Sandbox Code Playgroud)

设计时错误是:

无法从用法中推断出方法'System.Linq.Enumerable.Where(System.Collections.Generic.IEnumerable,System.Func)'的类型参数.尝试明确指定类型参数'

提供给Where的委托应该接受一个XElement并返回一个bool,标记该项是否与查询匹配,我不知道如何向委托或where子句添加更多内容以标记该类型.

此外,针对实体框架的实际功能的并行方法没有此问题.LINQ-to-XML版本有什么不正确之处?

c# lambda entity-framework expression-trees

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

无法将App_Code文件夹添加到WebSite项目

使用VS2008,我试图从添加 - >文件夹 - >添加ASP_NET文件夹添加App_Code文件夹.

App_Code文件夹选项是预期的但是......它被禁用了!?

我很确定我正在使用WebSite项目(而不是Web应用程序),因为我可以添加所有其他ASP_NET文件夹(App_Data - App_themes等),也因为我的my-code中没有控件声明(而不是Web应用程序,其中您有部分类与控件声明和eventHandlers等).事实是,如果它不是一个网站项目,为什么我可以添加其他ASP_NET文件夹?而且 - 为什么我没有获得任何带有控件声明等的设计器文件?这是VS2005中常用的方式.

如果我继续将App_Code文件夹自己添加为普通文件夹,它会获取ASP_NET App_Code文件夹的图标 - 所以它似乎工作正常.

它仍然困扰着我,因为我无法理解为什么首先禁用opion.

任何线索为什么会发生这种情况?

编辑:我正在尝试创建一个新的网站,我只获得了Web应用程序模板,所以我怀疑我是否能够创建一个网站.这里有点困惑!

app-code visual-studio-2008

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

TFS不允许文件夹重命名,声称有锁

在visual studio 2008中,由于名称中的拼写错误,我想重命名文件夹.我在解决方案结构中重命名它.现在检出文件夹和.CSProj文件,然后我办理登机手续.

TFS回来时"Microsoft Visual Studio此时无法执行源代码控制操作,因为操作中涉及的某些文件已被锁定.请稍后重试该操作".

查看源代码管理资源管理器,我可以确认文件夹及其中的文件根本没有签出..csproj和csproj.vspscc由另一个用户"编辑".

这里发生了什么?

如果我尝试撤消更改,我会得到相同的消息.在撤消更改之前,我必须强制获取最新版本.那也是怎么回事?

最终修复是让所有其他用户检入.csproj,然后重命名Source control explorer中的文件夹.在这一点上,它工作,虽然以前没有工作.

重命名的签入成功,并且在以下签入中清除了对旧名称的引用.

version-control tfs file-locking visual-studio-2008

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

"无法启动程序"(调试版本)

Microsoft Visual Studio

无法启动程序'theprogram.exe'.

此应用程序无法启动,因为应用程序配置不正确.查看清单文件以查找可能的错误.重新安装应用程序可能会解决此问题.有关更多详细信息,请参阅应用程序事件日志.

有问题的程序是一个C++项目,没有MFC,没有AFX,使用的库是: opengl32.lib glu32.lib SDL.lib sdlmain.lib加上预先构建libboost_signals-vc80-mt-gd-1_37.lib的BoostPro计算.

程序在Release版本中正常启动,但是在Debug上我得到了上面提到的错误信息,加上一个我无法杀死的调试器附带的僵尸进程.

调试版本的清单文件:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
</assembly>
Run Code Online (Sandbox Code Playgroud)

和发布版本:

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' …
Run Code Online (Sandbox Code Playgroud)

c++ boost visual-studio-2005 visual-c++

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

在VS2008中自动重新格式化整个C#源代码树的工具?

我继承了一个大型源代码树C#,Visual Studio 2008.

它有许多质量问题,其中之一是代码通常格式错误.

我正在寻找一个工具,最好是Visual Studio的一个插件,它将覆盖整个解决方案,并应用Visual Studio本身应用的相同基本格式,例如,您关闭代码块周围的大括号.

有什么建议?

c# formatting visual-studio-2008 visual-studio

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

在代码中捕获异常

我正在尝试这段代码来检查是否正在捕获除零异常:

int main(int argc, char* argv[])
{
    try
    {
      //Divide by zero
        int k = 0;
        int j = 8/k;
    }
    catch (...)
    {
        std::cout<<"Caught exception\n";
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我使用VC6编译它时,执行了catch处理程序并且输出为"Caught exception".但是,当我使用VS2008编译它时,程序崩溃而不执行catch块.可能是造成差异的原因是什么?

c++ exception visual-c++-6 visual-studio-2008 visual-c++

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

Visual Studio Addin - 1.如何添加上下文菜单?2.如何获得插入位置

我正在写一个(非常)简单的Visual Studio插件.使其更好用的两件事是:

  1. 上下文菜单.

  2. 知道当前文档中的插入位置(因此我可以在该位置注入文本).

有任何想法吗?

visual-studio-addins visual-studio

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

为了添加实例初始化块而创建的匿名类的意外后果

这是一个关于Java代码的问题,例如:

List<String> list = new ArrayList<String>() {{add("hello"); add("goodbye");}}
Run Code Online (Sandbox Code Playgroud)

程序员匿名扩展ArrayList只是为了在实例初始化块中推迟.

问题是:如果程序员的唯一目的只是达到以下目的:

List<String> list = new ArrayList<String>();
list.add("hello");
list.add("goodbye");    
Run Code Online (Sandbox Code Playgroud)

那么第一种方式做到这一点的意外后果是什么?

java anonymous-class

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

C#CA2104 - 自动代码分析不喜欢静态只读可变类型

我有这样的代码:

public abstract class Base
{
    // is going to be used in deriving classes
    // let's assume foo is threadsafe
    protected static readonly Foo StaticFoo = new Foo();
}
Run Code Online (Sandbox Code Playgroud)

Visual Studio 2008的代码分析弹出以下消息:

CA2104 : Microsoft.Security : Remove the read-only designation from 'Base.StaticFoo' or change the field to one that is an immutable reference type. If the reference type 'Foo' is, in fact, immutable, exclude this message.

我的设计是否存在本质上的缺陷,或者我可以[SuppressMessage]在源代码中添加一个?

c# code-analysis visual-studio-2008

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

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