问题列表 - 第19533页

保持所有Visual Studio项目与库同步

脚本

我有一个包含项目A,B和C的库.

我有两个解决方案.解决方案1包括项目A的副本,解决方案2包括项目A和项目B的副本.


当我构建解决方案1时,这是应该发生的事情:

替代文字http://img689.imageshack.us/img689/9341/onbuildsolution1.jpg


当我构建解决方案2时,这是应该发生的事情:

alt text http://img32.imageshack.us/img32/7821/onbuildsolution2.jpg


我怎样才能做到这一点?

这是我可以使用版本控制系统或现成的文件同步软件自动化的东西吗?或者我需要推出自己的解决方案吗?

如果我构建自己的解决方案,我会对它如何工作有一些想法,但我很感激您的任何输入:

  • 可以是一个简单的控制台应用程序,带有用于指定"源解决方案"的命令行开关,例如:

    c:\Program Files\Library Syncronizer\LibSync.exe /solution:Solution 1
    
    Run Code Online (Sandbox Code Playgroud)
  • 用于注册包含库项目的活动解决方案的XML文件.可能的格式:

    <solutions>
      <solution>
        <name>Solution1</name>
        <path>c:\...\Projects\Solution 1</path>
      </solution>
      <solution>
        <name>Solution2</name>
        <path>c:\...\Projects\Solution 2</path>
      </solution>
      <!-- more solutions -->
    </solutions>
    
    Run Code Online (Sandbox Code Playgroud)
  • 计划将执行以下操作:

    • 读入源解决方案
    • 确定它具有哪些库项目
    • 将这些项目的文件夹复制到库中
    • 循环遍历XML文件中的每个解决方案(源代码除外)
    • 根据需要复制所有库项目的文件夹
    • 也许某些备份操作也可能发生,以防同步过程覆盖重要的事情.

这在概念上听起来相对简单,但这可能会产生严重意想不到的后果,我没有想到.希望有人会警告我,如果它:)


更新 - 我复制项目文件夹的动机是什么?

总之 - 版本控制.

如果我将库项目保存在一个单独的文件夹中,并且只在我的各种解决方案中链接到它们(而不是在我的解决方案文件夹中物理定位文件夹),我的版本控制存储库最终不包含我的库项目的源代码.所以,如果我更新到"三个版本之前",并且我需要对我的一个库方法进行微小的更改,那么代码就不存在了.

我的解决方法是在我的库的存储库中添加标签,例如"解决方案1 ​​ - 版本2.5.3",但这非常笨重.如果我正在处理解决方案1的"三个版本之前"和解决方案2的当前版本,事情变得非常尴尬.现在,解决方案2将指向旧版本的库项目,这使得它可能无法实现使用和测试,直到我完成旧版本的解决方案1.

如果我正在使用副本,所有解决方案都会在其存储库中包含库源代码,并且我可以在需要时随时轻松地返回它.

我应该注意到,我一直在使用Tortoise HG(Mercurial)进行版本控制.

无论如何,我愿意解决这个问题.它不必涉及复制项目文件夹 - 这是我唯一能想到的,以确保我的所有版本控制存储库都是完整的独立软件包.


更新2

首先,只是一个注释.我使用Mercurial(TortoiseHG)进行版本控制,而不是SVN.如果绝对必要,我可以改变,但我真的更喜欢Mercurial.

根据目前为止的回复,我决定废除"双向复制"的想法,然后回到引用我的图书馆项目.这是一个新图:

alt text http://img30.imageshack.us/img30/7445/referencedprojects.jpg

然而,我仍然有相同的目标:

  1. 每个解决方案的最新版本都使用最新的库代码
  2. 每个存储库一个解决方案/应用
  3. 每个存储库都包含所有源代码,包括库项目
  4. 一切都尽可能自动化,以尽量减少错误的风险

目标#1通过引用库项目而不是使用副本自动处理,目标#2只是我如何设置我的存储库的问题,但目标#3和#4仍然是难以捉摸的.

对于Mercurial,有一个子库存功能似乎可以处理我的情况,但正如文档所示,这仍然被认为是实验/风险.

目前,我认为一个好的解决方法可能是将库项目的 …

.net version-control mercurial projects-and-solutions visual-studio

12
推荐指数
1
解决办法
1201
查看次数

Cookie"元数据"(过期,路径,...)是否已传输到服务器?

设置cookie时,可以设置原始cookie数据和一些元数据.此元数据包括cookie有效的路径,cookie的到期时间等.

当浏览器执行请求时,浏览器将使用它发送什么?它会发送完整的cookie,包含所有"元数据"吗?或者只有cookie的实际数据,没有元数据?

browser cookies http

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

Xcode 3.1中缺少AppDelegate文件?

我目前正在开始学习Xcode和objective-c,我正在阅读有关该主题的三本不同的书籍.所有的这些书是指一个名为"AppDelegate中"被说成是(我创建一个"Cocoa应用程序"),"与项目创建"(My_First_ProjectAppDelegate.m,My_First_ProjectAppDelegate.h)文件.创建新项目时,这些文件不存在.我似乎没有这个问题(见只有一个http://pragprog.com/titles/dscpq/errata).

还有关于AppDelegate的更多信息吗?如何处理丢失的Appdelegate目前的做法是什么?我在Mac OSX Leopard上使用Xcode版本3.1.4.

macos xcode cocoa objective-c

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

如何在不覆盖现有值的情况下使用NSUserDefaults注册用户默认值?

我有一个AppDelegate类+(void)initialize,我用它来注册一些默认值.这是我使用的代码:

+ (void)initialize {
  NSDictionary *defaults = [NSDictionary dictionaryWithObjectsAndKeys:@"NO", @"fooKey", @"YES", @"barKey", nil];

  [[NSUserDefaults standardUserDefaults] registerDefaults:defaults];
}
Run Code Online (Sandbox Code Playgroud)

我还创建了Preferences.xib,它包含几个NSButton显示首选项状态的复选框().它们NSUserDefaultsController与相同的键绑定(在这种情况下为fooKey和barKey).每次我启动应用程序并更改"默认值"时,它们都会在下次应用程序启动时恢复.

有没有办法在不覆盖现有值的情况下注册"默认默认值"?也许每次我构建并启动一个应用程序时,它的首选项文件正在重新创建?也许我应该从NSUserDefaultsController首选项窗口控制器中的一些自定义代码中取消绑定复选框并维护键的值?

我想听听您为维护用户默认值而选择的实现.

我正在使用Mac OS X 10.6.2和XCode 3.2.1

cocoa nsuserdefaults user-preferences

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

c ++中的AVL TREE

这个非常简单的代码块有问题.请给我你的建议. (我的这个问题已经解决了,在解决这个问题时,有id stakx的人确实对我有帮助,唯一的问题是我正在使用stack <treeNode>,当我仔细看到堆栈的推送方法时,有一个复制过程当我写head-> object = number时,最后我做了一堆指针,就像这个堆栈<treeNode*>它真的解决了问题,我现在没有问题,我非常非常感谢stakx.)

在代码之前你需要支持以下树的

替代文本http://img44.imageshack.us/img44/7016/avlimage06.jpg
,你可以在图片中看到root是8,堆栈有两个节点,即6和4.我将此堆栈和根节点传递给以下代码

void Avltree::attachwithtree(treeNode* tree, Stack<treeNode>&s)
{
if(!s.isempty())
{
treeNode *stacknode;
stacknode=s.pop();
cout<<"\ninside the attachwithtree function, stack node is "<<stacknode->data;
stacknode->right=tree;//attaching the passed node to the right of popped node
root=stacknode;//setting the root to stack node which is the private data member of class
updatebalance(root);//this function is ok, it does not create problem
while(!s.isempty())
{
cout<<"\nstack is still not empty";
stacknode=s.pop();
cout<<"\nright side of "<<root->data<<" is "<<(root->right)->data;
//the below three lines causing …
Run Code Online (Sandbox Code Playgroud)

c++ avl-tree data-structures

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

Linq错误通用参数或查询必须使用可空类型

当我在LINQ中使用sum函数时出现此错误:

转换为值类型'Decimal'失败,因为具体化值为null.结果类型的泛型参数或查询必须使用可空类型.

GroupProduct.Where(a => a.Product.ProductID==1).Sum(Content => Content.Amount==null?0:Content.Amount),
Run Code Online (Sandbox Code Playgroud)

linq null

16
推荐指数
3
解决办法
2万
查看次数

在Python中生成非重复随机数

好吧,这是一个比它听起来更棘手的问题,所以我转向堆栈溢出,因为我想不出一个好的答案.这就是我想要的:我需要Python以随机顺序生成一个简单的0到1,000,000,000的数字列表,用于序列号(使用随机数,这样你就无法分辨已经分配了多少或做了时间攻击很容易,即猜测下一个会出现的问题).这些数字与链接到它们的信息一起存储在数据库表(索引)中.生成它们的程序不会永远运行,因此它不能依赖于内部状态.

没什么大不了的?只需生成一个数字列表,将它们推入一个数组并使用Python"random.shuffle(big_number_array)",我们就完成了.问题是我想避免必须存储一个数字列表(从而读取文件,弹出一个顶部,保存文件并关闭它).我宁愿在飞行中生成它们.问题是我能想到的解决方案有问题:

1)生成一个随机数,然后检查它是否已被使用.如果已经使用它生成一个新的数字,检查,根据需要重复,直到找到一个未使用的数字.这里的问题是,在获得未使用的数字之前,我可能会感到不幸并生成大量使用过的数字.可能的解决方法:使用一个非常大的数字池来减少这种情况的可能性(但最后我得到了愚蠢的长数字).

2)生成一个随机数,然后检查它是否已被使用.如果已经使用了从数字中添加或减去一个并再次检查,请继续重复,直到我点击未使用的数字.问题是这不再是随机数,因为我已经引入了偏见(最终我会得到一堆数字,你可以预测下一个数字有更大的成功机会).

3)生成一个随机数,然后检查它是否已被使用.如果它已被使用添加或减去另一个随机生成的随机数并再次检查,问题是我们回到简单地生成随机数并检查解决方案1.

4)将其取出并生成随机列表并保存,让守护程序将它们放入队列中,以便有可用的数字(并避免不断打开和关闭文件,而是将其批处理).

5)生成更大的随机数并散列它们(即使用MD5)来获得更小的数值,我们应该很少得到冲突,但最终我的数字大于所需的数字.

6)在随机数(即unix时间戳)之前添加或附加基于时间的信息以减少碰撞的可能性,同样我得到的数字比我需要的数字更多.

任何人都有任何聪明的想法,可以减少"碰撞"的机会(即产生一个已经采取的随机数),但也可以让我保持这个数字"小"(即少于十亿(或十亿)你的欧洲人=)).

答案以及为什么我接受它:

因此,我将简单地选择1,并希望它不是一个问题,但是如果是的话,我会选择生成所有数字并存储它们的确定性解决方案,以便有一个获得新的随机数的保证,我可以使用"小"数字(即9位数而不是MD5 /等).

python random numbers

38
推荐指数
6
解决办法
3万
查看次数

分析音调/音符的"哨声"声音

我正在尝试建立一个系统,能够处理某人吹口哨和输出笔记的记录.

任何人都可以推荐一个开源平台,我可以将其用作音符/音高识别和波形文件分析的基础吗?

提前致谢

audio voice

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

Common Lisp中的整数除法?

当我这样做时(/ 7 2),我该怎么办才能得到结果3呢?如果我这样做(/ 7 2.0),我得到了3.5,这是预期的.

lisp clisp casting

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

Objective-C:哪个更有效 - 测试IF NOT还是再次设置变量?

变量的当前值可以是"X"或"Y".

函数需要确保它是"X".

一般来说 - 比如说C整数 - 效率更高:

"if not X, then set to X"

"just set it to X anyway"
Run Code Online (Sandbox Code Playgroud)

当"值"是必须重新创建的Objective-C(不可变)对象时,这会改变吗?

在这两种情况下,这是每个人都同意的事情,还是一个有争议的问题?

performance if-statement objective-c

2
推荐指数
1
解决办法
382
查看次数