我们目前正在从2005年到2010年迁移所有解决方案(这是正确的,我们正在跳过2008年!).我们也在改变我们的文件结构以使其更有意义(一些常见项目将嵌套在特定项目中等).
这一切都意味着参考需要改变!除此之外,我们还将它们全部设置为.NET 4.0.为了实现这一目标,我们在同一解决方案中制作了一个临时"GOD"解决方案,其中包含所有117个项目.
我和一位同事一起这样做,直到大约2小时前,一切都按计划进行.然而,我们遇到了117个项目之一的问题.该项目拒绝在"项目属性"中"显示"它的引用,资源,服务和设置选项卡.
我收到以下确切消息:
无法为目标框架'.NETFramework,Version = v4.0'解析mscorlib.如果未安装目标框架或框架名字对象格式不正确,则会发生这种情况.
现在这很烦人,但情况会变得更糟.我的同事,当从subversion获得相同的解决方案时,CAN实际上可以看到并更改引用和事物.事实上,目前该项目实际上是在他的机器上建造的.他提交了更改,但我无法构建此特定项目,或查看引用.
这导致我得出一个简单的结论,我的客户端必须有所不同,这会造成麻烦!我在网上看到的建议如下:
请参阅:http://connect.microsoft.com/VisualStudio/feedback/details/542789/
我还没有尝试过的唯一一件事就是修复.NET 4.0我怎么会高度怀疑这是问题,因为我们有大约100个其他项目,我可以编辑和构建就好了.C#和VB.NET都有.
这个问题可能已被多次询问过,也许我只是在使用谷歌的搜索功能以及谷歌这个问题,但我还没有找到这个问题的答案.
我目前有两个项目,项目X,项目Y和项目Z(仅包含映射)
Project X是一个FluentNhibernate项目,它包含我的sessionfactories和类似的东西.所以这也是映射加载和事物的地方(这很重要,我怀疑它可能是我遇到的问题的全部原因)
现在,在Project X中,我引用了一个使用Microsoft.SqlServer.Types.dll的程序集.
项目Y是一个使用项目X进行数据库连接的服务.
所有的probjects都可以在我的开发机器上完美地查找和运行,但是当部署到我们的服务器时,它们无法正常运行(运行时错误).错误是非常模糊的,因为它指向缺少FluentNHibernate程序集,但事实并非如此.
Procmon.exe幸运地显示代码试图加载Microsoft.SqlServer.Types.dll,因为服务器没有安装SQL Server(我的客户端不是,但它有一个管理工作室,很可能安装此.DLL以及) .
到目前为止一直很好,复制了DLL并且它工作了(耶!).
现在我想我将程序集添加到项目X以确保使用项目X将此引用复制到其他项目.这没有发生....所以我尝试将"复制本地"设置设置为true.
遗憾的是,这仍然没有将.dll复制到引用项目Y.
有没有办法让这种情况发生,或者这个Visual Studio是否聪明并且意识到Project Y不需要这个.dll因此拒绝复制它?
(由于Project Z需要实际参考,Project X加载此程序集@运行时,Z和X之间没有"硬"参考)
任何Stackoverflow天才都可以对此有所了解,因为老实说,我想知道为什么它会以这种方式运行(理想情况下是一种让它表现得像我想要的方式).
.net reference visual-studio-2010 fluent-nhibernate .net-assembly
我们目前正在尝试加速一些查询,但我们遇到了一些我(不是 DBA 只是 .NET 开发人员)无法解释或理解的问题。我们在 SQL Server 2005 上运行这个查询。
我们有以下查询(为了论证而变得小而简单);
SELECT
*
FROM
RandomTable
WHERE
MoneyColumn <> 0
GROUP BY
SomeColumn
Run Code Online (Sandbox Code Playgroud)
这个查询在大约三秒钟内运行,然后我们随机尝试跟随以加快速度(真的是在黑暗中拍摄)
SELECT
*
FROM
RandomTable
WHERE
isnull(MoneyColumn,0) <> 0
GROUP BY
SomeColumn
Run Code Online (Sandbox Code Playgroud)
这降低了查询速度围绕的一个第二个..
该列没有 NULL 值(但由于数据库设计非常糟糕)它却是 NULLABLE ...
事实上,它是 NULLABLE 使 SQL Server 做一些事情来解决这个问题,使它在没有提到 ISNULL 的情况下变慢吗?我只是不知道为什么 ISNULL 会使它执行得更快(而且幅度如此之大)。我认为当查询中有 ISNULL 语句时,SQL 实际上有更多的工作要做。
任何人都可以对此有所了解吗?
添加了编辑执行计划
带 ISNULL
<?xml version="1.0" encoding="utf-16"?>
<ShowPlanXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0" Build="9.00.5000.00" xmlns="http://schemas.microsoft.com/sqlserver/2004/07/showplan">
<BatchSequence>
<Batch>
<Statements>
<StmtSimple StatementCompId="1" StatementEstRows="9019.76" StatementId="1" StatementOptmLevel="FULL" StatementSubTreeCost="1.48105" …
Run Code Online (Sandbox Code Playgroud) 简单的问题:我正在检查组合框是否已使用string.IsNullOrEmpty()
. 问题是,即使选择了 ,也会出现错误消息。我究竟做错了什么?
这是我的代码:
private void button1Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(comboBox1.SelectedText))//here should skip to else - but doesn't
{
MessageBox.Show("You must select a conversion type", "Error");
}
else
{
if (comboBox1.SelectedText == "Currency")
{
double input = Convert.ToDouble(textBox1.Text);
if (!string.IsNullOrEmpty(comboBox2.SelectedText))
{
string type = comboBox2.SelectedText;
double result = convertCurrency(type, input);
if (result != -1)
{
label1.Text = Convert.ToString(result);
}
}
else
{
MessageBox.Show("You must select a conversion type", "Error");
}
}
else
{
MessageBox.Show("curency");
}
} …
Run Code Online (Sandbox Code Playgroud) 我很确定这是一个基本问题,但由于某种原因,我无法在谷歌上尽快找到它,所以我会在这里问.
我有一个MoneyType对象,它包含一个int(以美分为单位)和一个十进制(只是正常值)
这种类型继承了IComperable接口,可以进行比较,现在我在If语句中比较两个MoneyType:
if (invoice.GrossAmount == invoice.NetAmount)
{
//Something
}
Run Code Online (Sandbox Code Playgroud)
现在我应该覆盖什么方法或者我应该继承什么接口才能使它工作?由于这样做不会进入CompareTo()方法,因此它也不会进入.Equals方法,因此我处于亏损状态.