小编Jer*_*ero的帖子

.NET 4.0生成服务器引用程序集警告MSB3644

我的构建服务器上出现了一堆错误:

C:\ WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(847,9):警告MSB3644:找不到框架".NETFramework,Version = v4.0"的引用程序集.要解决此问题,请为此框架版本安装SDK或Targeting Pack,或者将应用程序重新定位到已安装SDK或Targeting Pack的框架版本.请注意,程序集将从全局程序集缓存(GAC)中解析,并将用于代替引用程序集.因此,您的程序集可能无法正确定位到您想要的框架.[d:\ ADIS \汞\ AdisFeeds \缓存\ Adis.Feeds.Cache.ConsoleManager\Adis.Feeds.Cache.ConsoleManager.csproj]

问题是我已经安装了Windows SDK 7.1的.NET部分....我特别小心地检查.net 4.0参考组件旁边的框.

有没有人对什么出错有任何建议?

为了记录,我使用Nant为msbuild nant任务运行构建脚本(版本0.86)和nant.contrib(0.85).

更新 我刚刚跑了那个角度.我使用msbuild在我的开发机器上编译了解决方案,然后再在构建服务器上编译.然后我比较了日志.

似乎缺少对\ Program Files\References Assemblies路径的任何引用的显着差异.特别是在FrameworkPathOverride中.

所以我尝试将FrameworkPathOverride作为命令行参数添加到msbuild.不幸的是,这只是让我不幸发现参考程序集目录似乎只有xml文件.因为只有mscorlib.xml.没有mscorlib.dll

到底他妈发生了什么?!?

.net msbuild .net-4.0

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

通过linq表达式从重写属性获取属性

我试图用来GetCustomAttributes()获取属性上定义的属性.问题是该属性是一个被覆盖的属性,我无法弄清楚如何从表达式中提取被覆盖的属性.我只能弄清楚如何获得基类.

这是一些代码

public class MyAttribute : Attribute 
{
  //... 
}

public abstract class Text
{
  public abstract string Content {get; set;}
}

public class Abstract : Text
{
  [MyAttribute("Some Info")]
  public override string Content {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

现在我试图MyAttribute摆脱抽象类.但我需要通过一个Expression.这就是我一直在使用的:

Expression<Func<Abstract, string>> expression =  c => c.Content;
Expression exp = expression.Body;
MemberInfo memberType = (exp as MemberExpression).Member;

var attrs = Attribute.GetCustomAttributes(memberType, true);
Run Code Online (Sandbox Code Playgroud)

不幸的是atts最终为空.问题是menberType最终是为了Text.Content而不是Abstract.Content班级.因此,当我获得属性时,它什么都不返回.

.net getcustomattributes linq-expressions

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

Html.Hidden()插入错误的值

当我在我的一个视图中使用表单html辅助方法时,<%=Html.Hidden("id", "some id text") %>它会为我创建一个隐藏的输入字段,但它会将错误的值放在那里.

而不是得到

<input name="id" type="hidden" value="some id text"/>

我明白了

<input name="id" type="hidden" value="11000"/>

所以从其他地方找到了价值.在这种情况下,它是父记录的主要ID.所以它是一个id,它只是错误的id.

有没有人有任何想法?我很确定在MVC1中没有发生这种情况

html-helper asp.net-mvc-2

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