我有一个小问题.我有一个工具,应该每天解析一个日志文件,不幸的是这个日志文件正在被写入日志的进程使用,我无法阻止它.
首先尝试创建该文件的副本,该副本也不起作用.
有没有办法让我阅读日志文件的当前文本,即使它已被使用?
我目前必须清理TFS源代码控制中的一些来源.由于某些原因,在某些文件夹的菜单中禁用了移动命令.我能够移动其他文件夹就好了.
为什么某些文件夹会变灰?
任何的想法?
我想我有一个非常简单的任务,但不知怎的,它不想工作.我是objective-c的初学者,所以我想这只是一个小错误.我仍然不知道我在做什么,目前它更像是复制和粘贴编程.就像我不知道我是否需要在界面中的IBOutlet或作为属性或两者.
是)我有的:
带有按钮,标签和表视图的ViewController.该按钮连接到共享点服务器并读取列表并将值添加到数组.这部分有效.
Delegate和DataSource出口连接到View Controller.
我想要的是:
该数组应该是表视图的数据源,所以我只是想在我读取数组中的新数据后刷新它.我在viewDidLoad函数中添加到数组的测试数据显示出来.所以我想我以某种方式将数组连接到表视图.
我会给你完整的代码:
ViewController.h:
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
{
IBOutlet UILabel *output;
IBOutlet UITableView *tableView;
NSMutableData *webData;
NSString *finaldata;
NSString *convertToStringData;
NSMutableString *nodeContent;
}
@property (nonatomic, retain) UILabel *output;
@property (nonatomic, weak) IBOutlet UITableView *tableView;
-(IBAction)invokeService:(UIButton *) sender;
@end
Run Code Online (Sandbox Code Playgroud)
ViewController.m:
#import "ViewController.h"
@interface ViewController ()
{
NSMutableArray *foundUrlaub;
}
@end
@implementation ViewController
@synthesize output;
- (void)viewDidLoad
{
[super viewDidLoad];
// SOME TEST DATA... THIS SHOWS UP IN MY TABLE VIEW
foundUrlaub …Run Code Online (Sandbox Code Playgroud) 一些示例代码首先......
枚举:
public enum TestEnum {
YES,
NO
}
Run Code Online (Sandbox Code Playgroud)
一些代码:
public static boolean WorkTheEnum(TestEnum theEnum) {
switch (theEnum) {
case YES:
return true;
case NO:
return false;
default:
// throws an exception here
}
}
Run Code Online (Sandbox Code Playgroud)
问题:
TestEnum是我从不同开发人员的不同代码导入的东西.所以它实际上可以改变.对于这种情况,我想要一个实际检查该非现有值的单元测试.但我根本不知道如何用Mockito和JUnit做到这一点.
这部分当然不起作用:
@Test(expected=Exception.class)
public void DoesNotExist_throwsException() throws Exception {
when(TestEnum.MAYBE).thenReturn(TestEnum.MAYBE);
WorkTheEnum(TestEnum.MAYBE);
}
Run Code Online (Sandbox Code Playgroud)
我发现了一个使用PowerMock的例子,但我无法与Mockito合作.
有任何想法吗?
如何为VS2010/TFS2010注册自定义签到策略?
对于2008年,它是以下路径:HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\TeamFoundation\SourceControl\Checkin Policies
但是对于2010年,路径在"TeamFoundation"之后结束,尽管我应该已经有一些来自Power Tools的注册政策.
我只能找到这个MSDN博客:
但在那里他只展示了如何注册VSIX pkgdef文件(这对我来说不起作用).我可以在VS2010中添加策略,但如果我尝试它,我会收到"程序集未注册"错误:

http://dl.dropbox.com/u/974862/Office/checkin_error.JPG
有任何想法吗?
我有一个从 Visual Studio 2010(Oracle 开发人员工具)连接到的 Oracle 数据库。我现在在“服务器资源管理器”窗口中有数据库,可以看到所有表、视图、函数等。
现在我想在我的数据库项目解决方案中包含所有这些对象(我想使用 TFS 的版本控制,这就是我想要在我的解决方案中包含所有对象的原因)。我可以用鼠标右键单击一个单一的功能,然后选择“生成创建脚本以项目”,那么它会做我想做什么,它在数据库项目的“功能”文件夹中创建一个新的脚本,使用相同的名称作为函数。
问题:
如果我选择两个或多个函数并使用“为项目生成创建脚本”函数,那么我必须为脚本选择一个名称,它将在一个脚本中编写所有函数。但我想要每个脚本一个文件。
问题:
是否可以从 oracle 数据库中导出所有对象并将它们作为脚本导入到 Visual Studio 数据库项目中?
如果我使用不同的驱动程序(devart),那么我就可以做到,但是我们想使用 ODT,我在那里找不到完成该任务的简单方法。
编辑:刚刚注意到,devart 项目与源代码管理不兼容,所以我们绝对必须使用 ODT。
我试图将密钥发送到应用程序.为了方便测试,我只使用了记事本.这就是代码的样子:
[DllImport("USER32.DLL", EntryPoint = "SendMessageW", SetLastError = true,
CharSet = CharSet.Unicode, ExactSpelling = true,
CallingConvention = CallingConvention.StdCall)]
public static extern bool SendMessage(IntPtr hwnd, int Msg, int wParam, int lParam);
const int WM_KEYDOWN = 0x100;
const int WM_a = 0x41;
public void Press()
{
Process[] p = Process.GetProcessesByName("notepad");
IntPtr pHandle = p[0].MainWindowHandle;
SendMessage(pHandle, WM_KEYDOWN, WM_a, 0);
}
Run Code Online (Sandbox Code Playgroud)
但没有任何反应.
我的主要目标是将密钥发送到提升的应用程序,但我很乐意首先将其发送到记事本.我想使用SendMessage,因为我想控制按下按钮多长时间,我也不希望将其他应用程序放在前台.这就是我不使用SendKeys的原因.
我们只是在进行突变测试,而我不了解一件事。为什么总是在这样的for-each循环上尝试应用“否定条件变量”:
for (final Order order : orders)
Run Code Online (Sandbox Code Playgroud)
如果我看一下mutator的描述(http://pitest.org/quickstart/mutators/#NEGATE_CONDITIONALS),那么它应该只!=对to ==或<to 这样的条件进行突变>=。所以我真的不明白为什么在这里使用它,为什么它有时会失败,有时却不会。
有人可以向我解释一下吗?
我正在开发Visual Studio Package项目.该项目需要连接到我们的TFS.要读取当前连接,我需要TeamFoundationServerExt对象,我应该能够从dte2对象获取该对象.
现在我发现了数百个示例,其中大多数都使用了一个"_application"变量,它似乎自动填充,但当然不适用于"Visual Studio Package"项目类型.
如何获取当前运行的VS2010的TeamFoundationServerExt对象?
目前我的电脑上有Visual Studio 2010和SQL Server 2012.现在我想创建一个SSIS包,它应该在SQL Server 2008上运行.
如果我正常创建它,我只是得到以下错误,如果我尝试在服务器上加载它:
由于错误0xc0010014"[...]"导致程序包无法加载.当CPackage :: LoadFromXML失败时会发生这种情况.
如果我尝试用BIS 2008打开它,那么我会收到类似的错误.
有没有办法改变我的dtsx,以便它可以在SQL Server 2008上工作?
我有一个关于线程的问题.
我有一个WPF应用程序,它应该显示一些查询的状态.为此,我创建了一个类,它在多个线程(backgroundworker)中运行多个查询.我还创建了一个事件,所以我可以在查询运行时做出反应.
private void cmdStart(object sender, RoutedEventArgs e)
{
QuerySetup qs = new QuerySetup();
//Filling qs with some data
//...
SqlProxy sql = new SqlProxy();
sql.QueryCompleted += new SqlProxy.QueryCompletedEventHandler(sql_QueryCompleted);
//Starts the backgroundworker
sql.RunSQL(qs);
}
private void sql_QueryCompleted(QueryResult qr)
{
lstStatus.Items.Clear();
lstStatus.Items.Add(qr.RuntimeTotal);
//... and some more...
}
Run Code Online (Sandbox Code Playgroud)
现在我收到一条错误消息告诉我,我无法访问lstStatus,因为它由不同的线程拥有.
但为什么?事件不应该与GUI在同一个线程中吗?我怎样才能解决我的问题?
我有一个使用的TFS2012插件
public EventNotificationStatus ProcessEvent()
获取WorkItemChangedEvent.它没有做太多,只是将WorkItemChangedEvent添加到消息队列中,以便稍后我可以使用不同的服务来获取它.
由于某种原因,事件总是为我更改的每个工作项触发两次,并将事件两次添加到我的队列中.
知道为什么吗?
我使用的代码:
public EventNotificationStatus ProcessEvent(
TeamFoundationRequestContext requestContext,
NotificationType notificationType, object notificationEventArgs,
out int statusCode, out string statusMessage, out ExceptionPropertyCollection properties)
{
statusCode = 0;
properties = null;
statusMessage = String.Empty;
try
{
if (notificationType == NotificationType.Notification && notificationEventArgs is WorkItemChangedEvent)
{
var ev = notificationEventArgs as WorkItemChangedEvent;
const string queueName = ".\\private$\\tfs";
var msgQueue = new MessageQueue(queueName);
var msg = new Message(ev);
msgQueue.Send(msg, MessageQueueTransactionType.Single);
Log.Debug(string.Format("Added event for work item #{0} to queue", ev.WorkItemTitle));
} …Run Code Online (Sandbox Code Playgroud) 我会尽量问这个问题的通用性(没有双关语)。
假设我有一个用作汽车容器的对象“车库”。它看起来像这样:
public abstract class Garage {
public abstract List<? extends Car> getCars();
public abstract void addCarToGarage(Car car);
}
Run Code Online (Sandbox Code Playgroud)
因为我很有钱,我会有不同类型的车库,有的只有我的跑车,有的只有我的SUV等等。
所以我的车库之一看起来像这样:
public class SportCarGarage extends Garage {
@Override
public List<SportCar> getCars() {
// code to return the cards
}
@Override
public void addCarToGarage(Car car){
// code to add car to garage
}
}
Run Code Online (Sandbox Code Playgroud)
现在你可能已经看到我的问题了。我可以实现,getCars()以便它返回一个列表SportCar。但是如果我打电话addCarToGarage,我需要检查每辆车的类型,如果有人试图在我的 SportCarGarage 中添加 SUV,我不会收到语法错误。
我想要这样的东西:
public abstract class Garage {
public abstract List<? extends Car> getCars();
public abstract void addCarToGarage(? extends …Run Code Online (Sandbox Code Playgroud)