学习Common Lisp(使用GNU CLISP 2.43)..所以可能是一个noob错误.示例是'x和y之间的'打印素数'
(defun is-prime (n)
(if (< n 2) (return-from is-prime NIL))
(do ((i 2 (1+ i)))
((= i n) T)
(if (= (mod n i) 0)
(return NIL))))
(defun next-prime-after (n)
(do ((i (1+ n) (1+ i)))
((is-prime i) i)))
(defmacro do-primes-v2 ((var start end) &body body)
`(do ((,var (if (is-prime ,start)
,start
(next-prime-after ,start))
(next-prime-after ,var)))
((> ,var ,end))
,@body))
(defmacro do-primes-v3 ((var start end) &body body)
(let ((loop-start (gensym))
(loop-end (gensym)))
`(do ((,loop-start ,start)
(,loop-end …Run Code Online (Sandbox Code Playgroud) 我有一个用ASP.Net编写的工作XML Web服务.现在我需要引用位于特定文件夹中的某些程序集,例如c:\NotMyCode
我不想将该文件夹中的数百万个dll复制/复制到我的bin文件夹中.
我试图保留CopyLocal=falseWeb服务中引用的程序集.最终导致程序集的FileNotFound异常.当我切换到CopyLocal=true,引用的DLL被复制到bin文件夹..它的工作原理.
所以我的问题是:如何引用不在我的bin文件夹或它下面的子文件夹中的程序集?我是否需要在某处更改某些安全策略文件?我想我不是第一个想做这样事情的人......所以我假设有人已经解决了这个问题.
(我已经尝试在IIS ASP.net配置面板中模拟管理员用户,但这也没有用.)
更新:无法将其安装在GAC中.举一个类比,这个Web服务给第三方应用程序提供了一个简化的视图,例如Starteam.我不能(不应该......不想......)将该文件夹中的所有二进制文件复制到bin文件夹或将其安装到GAC中
基本上我们在新的基于WPF的应用程序中需要一个自定义图表组件.
需要显示文本/线条,链接的2D节点和自定义图像,以及其他图表功能,如撤消/重做,对齐,组等.ala Visio.
最初的团队做了一些调查,并确定了WinForms Northwoods GoDiagrams套件......将其嵌入我们的WPF应用程序中的解决方案.那里有任何等效的WPF图表包吗?最好是试过的.谢谢..
我正在阅读'The Little Schemer',以便更好地理解编程的一些核心元素(即递归),并获得更多关于如何像程序员一样思考的想法.
这本书是作为入门级书籍推荐的,并且介绍说我需要知道的只有英语,数字和计数(我这样做).
我有点困惑,因为第一部分和问题的开头是问"这是原子吗?"
我错过了什么吗?我应该知道原子是什么吗?我很困惑,因为我认为这意味着更简单的英语.
蒂姆,提前谢谢
我团队中的一些程序员有时会编写调用方法的单元测试,得到结果但忘记调用正确的Assert方法来实际检查发生了什么.
我想知道是否有任何配置,如果没有进行验证,我可以强制MSTest失败测试.我记得在DUnit中看过这样的东西,但在Visual Studio中找不到它.
难道你写使用.NET语言消费的桌面应用程序?如果是这样的类型?
我的印象是,大多数消费者桌面应用程序仍然是C,C++等本机编译的应用程序.
虽然.NET语言越来越受欢迎,但是这些新的应用程序是否会突破企业和Web领域,成为高街消费者应用程序?
例如,现在看看你的桌面?有多少应用程序是用.NET语言编写的,Firefox?微软办公软件?雷鸟?iTunes的?Microsoft Visual Studio?
我公司开发高端CAD/CAE应用程序,我们利用新技术,但我们的核心开发仍然使用C++完成.
不,我不是一个聪明人......
对于那些有幸不知道My class的人:它是在VB 2005中添加的(并且在C#中不存在),最好被描述为".net框架的快速拨号". 假设让那些不会阅读他们应该使用的框架类的新手更容易生活
Dim contents As String
contents = My.Computer.FileSystem.ReadAllText("c:\mytextfile.txt")
Run Code Online (Sandbox Code Playgroud)
而不是这个:
Dim contents As String
contents = IO.File.ReadAllText("c:\mytextfile.txt")
Run Code Online (Sandbox Code Playgroud)
我的问题:MSDN文档页面在哪里,其中speeddial按钮映射到什么..?
通过选择要素的名称作为我的 - 他们只是让搜索变得更加有趣.我需要使用C#进行编码,并且无法承受翻译专门处理VB的培训/操作方式办公室视频的乐趣.
更多关于Dans的内容
Juval Lowy将C#中的My as That移植为临时解决方案.不要问我为什么......
使用Microsoft Azure和Windows 7这个术语变得"更热".有
什么好处+桌面计算的现状现在如何变化?机器是否不再需要安装操作系统(或典型操作系统的高度剥离版本)......与"云"交互需要什么?
更新:今天收到我的第一个RTFM.
详细说明..我很想知道今天典型的桌面操作系统提供的服务的"新方式"有多么不同(阅读Win XP/Vista,linux风味等等)...不是云的好处计算.
在与同事谈论启动时使用近1.5G内存的特定应用程序组时...他指出了一个关于.NET生产调试的非常好的链接
困惑的部分是......
例如,如果为单个块分配1 MB内存,则大对象堆的大小将扩展为1 MB.释放此对象时,大对象堆不会解除对虚拟内存的响应,因此堆的大小保持为1 MB.如果稍后再分配另一个500 KB块,则新块将在属于大对象堆的1 MB内存块中分配.在进程生命周期中,大对象堆总是增长以保存当前引用的所有大块分配,但是在释放对象时从不收缩,即使发生了垃圾收集.下一页的图2.4显示了一个大对象堆的示例.
现在让我们假设我们有一个虚构的应用程序,可以创建一大堆大对象(> 85KB),所以大对象堆增长让我们说200兆.现在假设我们有10个这样的app实例正在运行..所以分配了2000 Megs.现在这个存储器永远不会回到操作系统,直到进程关闭...(就是我所理解的)
我的理解是否有任何差距?我们如何在各种LOHeaps中找回未使用的内存; 我们不会创造OutOfMemoryExceptions的完美风暴?
更新:从Marc的回复中,我想澄清LOH对象没有被引用 - 大对象是use-n-throw - 但是即使堆在初始激增之后堆相对空,堆也不会收缩.
更新#2:只是包含一个代码片段(夸大但我认为有点了)..我看到一个OutOfMemoryException,虚拟内存在我的机器上达到1.5G标记(1.7G在另一个上).来自Eric L .博客文章,'进程内存可以被视为磁盘上的大量文件......' - 因此这个结果是出乎意料的.在这种情况下,机器在HDD上具有GB的可用空间.PageFile.sys OS文件(或相关设置)是否施加了任何限制?
static float _megaBytes;
static readonly int BYTES_IN_MB = 1024*1024;
static void BigBite()
{
try
{
var list = new List<byte[]>();
int i = 1;
for (int x = 0; x < 1500; x++)
{
var memory = new byte[BYTES_IN_MB + i];
_megaBytes += memory.Length / BYTES_IN_MB;
list.Add(memory);
Console.WriteLine("Allocation #{0} : …Run Code Online (Sandbox Code Playgroud) 假设这个dll链引用
Tests.dll >> Automation.dll >> White.Core.dll
Run Code Online (Sandbox Code Playgroud)
使用Tests.dll中的以下代码行构建所有内容
result.MissingPaths
Run Code Online (Sandbox Code Playgroud)
现在我把它改成了
result.MissingPaths.Count()
Run Code Online (Sandbox Code Playgroud)
我得到Tests.dll的以下构建错误"White.UIItem未在未引用的程序集中定义.您必须添加对White.Core.dll的引用." 我不想这样做,因为它打破了我的分层.
以下是结果的类型定义,它位于Automation.dll中
public class HasResult
{
public HasResult(IEnumerable<string> missingPaths )
{ MissingPaths = missingPaths; }
public IEnumerable<string> MissingPaths { get; set; }
public bool AllExist
{
get { return !MissingPaths.Any(); }
}
}
Run Code Online (Sandbox Code Playgroud)
在调用链下面,通过(TreeNode类在White.Core.dll中)创建此ctor的输入参数.
assetPaths.Where(assetPath => !FindTreeNodeUsingCache(treeHandle, assetPath));
Run Code Online (Sandbox Code Playgroud)
为什么在IEnumerable上调用Count()时这个依赖项会泄漏?然后我怀疑懒惰的评估导致了这个(由于某种原因) - 所以我在上面的一行中插入了一个ToArray()但是没有用.
更新2011 01 07: Curiouser和Curiouser!在添加White.Core引用之前,它不会构建.所以我添加一个引用并构建它(为了找到难以捉摸的依赖源).在Reflector中打开它,列出的唯一引用是Automation,mscorlib,System.core和NUnit.所以编译器丢弃了White引用,因为它不需要.ILDASM还确认没有White AssemblyRef条目.
关于如何深入了解这件事的任何想法(主要是'现在我想知道为什么'的原因)?这是VS2010/MSBuild错误的可能性有多大?
更新2011 01 07#2 根据Shimmy的建议,尝试将explcitly方法称为扩展方法
Enumerable.Count(result.MissingPaths)
Run Code Online (Sandbox Code Playgroud)
它停止了抄袭(不知道为什么).
但是之后我移动了一些代码,现在我使用IEnumerable在不同的位置获得相同的问题 - 这次是从磁盘上的文件读取和过滤行(完全与白色无关).似乎它是一个'症状修复'.
var lines = File.ReadLines(aFilePath).ToArray();
再次,如果我删除ToArray()它再次编译 - 似乎导致可枚举的任何方法(ToArray,Count,ToList等)导致这种情况.让我尝试一个工作的小应用程序来演示这个问题......
更新2011 01 07#3 P!更多信息..事实证明问题只在一个源文件中 - 这个文件是LINQ-phobic.必须显式调用对Enumerable扩展方法的任何调用.我做的重构导致一个新的方法被移动到这个源文件,它有一些LINQ …