我刚刚在powershell中完成了我的第一个夜间构建脚本(第一个重要的任何脚本,真的).我似乎有一些工作得很好,如果还不是很健壮(我还没有处理过大量的错误检查),但我发现自己陷入了Invoke-Expressioncmdlet 周围的成语,我想知道我是否正确使用它.
具体来说,我使用一系列变量来构建命令行,我将用它来构建解决方案,然后运行解决方案的单元测试.例如,像:
$tmpDir = "C:\Users\<myuser>\Development\Autobuild"
$solutionPath=$tmpDir+"\MyProj\MyProj.sln"
$devenv="C:\Program Files (x86)\Microsoft Visual Studio 10.0\common7\ide\devenv"
$releaseProfile="Release"
$releaseCommandLine="`"$devenv`" `"$solutionPath`" /build `"$releaseProfile`""
Run Code Online (Sandbox Code Playgroud)
这个工作得很好,$releaseCommandLine包含我想要在我完成时执行的命令行.然后我通过这一行执行它:
$output = Invoke-Expression "& $releaseCommandLine"
Run Code Online (Sandbox Code Playgroud)
这是从powershell脚本执行手动构建的命令行的正确方法吗?我最初认为Invoke-Command会做到这一点,但我一定是做错了,因为我根本无法让它工作半小时,而且我几乎立刻就能做到这一点.
我在同一个脚本中已经按照相同的模式进行了几次.这是最好的做法吗?
我有一个字符串,如:
string email = "a@a.com, b@b.com, c@c.com";
Run Code Online (Sandbox Code Playgroud)
我想把它拆分成一个字符串数组
如果我这样做:
string[] emails = email.Split(',');
Run Code Online (Sandbox Code Playgroud)
我在每个电子邮件地址前面都有空格(在第一个电子邮件地址之后):
emails[0] = "a@a.com"
emails[1] = " b@b.com"
emails[2] = " c@c.com"
Run Code Online (Sandbox Code Playgroud)
获得这个的最佳方法是什么(更好的解析方法或修剪数组中所有字符串的方法)?
emails[0] = "a@a.com"
emails[1] = "b@b.com"
emails[2] = "c@c.com"
Run Code Online (Sandbox Code Playgroud) 我不知道在这里粘贴所有代码是否可行,但我正在查看这个git repo中的代码.
如果你看一下他们做的例子:
ec2 = EC2('access key id', 'secret key')
Run Code Online (Sandbox Code Playgroud)
......但是没有EC2课.但是,看起来libcloud\providers.py有一个dict映射EC2到EC2NodeDriver找到的libcloud\drivers\ec2.py.正确的映射是通过计算的get_driver(provider),但该方法似乎不会在任何地方调用.
显然,我是python的新手,但不是编程.我甚至不确定我应该在文档中查找什么来解决这个问题.
这是我在firefox中找到的fireBug.
在其他浏览器中是否相同?
如果是这样,原因是什么?
当函数返回布尔值时,您可以轻松地完成
if (task()){
// it worked!
}else{
// it failed.
}
Run Code Online (Sandbox Code Playgroud)
但是当它返回多个不同的值时会变得更加混乱
var status = task();
if (status == 1){
// hmm
}else if (status == 2){
// hmmmmm
}else if (status == 3){
// hmmmmmmmm!
}
Run Code Online (Sandbox Code Playgroud)
..有一种更简洁的处理方式吗?
编辑:响应建议切换语句的答案,是的我知道这些.我要求的东西比那更整洁?
我想在可扩展列表视图中添加图像图标.我已经看到他们仅在子元素中添加的教程.是否有任何其他方式在父母中添加图像图标任何帮助将不胜感激.提前致谢.
我正在考虑在我的项目中使用libavcodec,我知道它是根据LGPL许可证,但我不太了解许可证.
我的项目不是开源项目,我不会更改libavcodec中的代码.我只能使用link方法来使用libavcodec.
有了这些条件,我想问一下:我可以在项目中使用libavcodec吗?
谢谢.
我的MVC应用程序在尝试访问数据库中的任何表时返回SqlExceptions.
异常详细信息:System.Data.SqlClient.SqlException:无效的对象名称'dbo.Projects'.
我的应用程序是我们的数据层linq.
如果我使用一个旧的DLL它工作正常,(这似乎不是数据库的问题)只是我上传的这个最新的应用程序DLL.
细节
[SqlException(0x80131904):无效的对象名称'dbo.Projects'.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception,Boolean breakConnection)+1950890
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception,Boolean breakConnection) +4846875
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)+194 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj)+2392
System.Data.SqlClient. SqlDataReader.ConsumeMetaData()+ 33
System.Data.SqlClient.SqlDataReader.get_MetaData()+83
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,RunBehavior runBehavior,String resetOptionsString)+297
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds (的CommandBehavior cmdBehavior,runBehavior runBehavior,布尔returnStream,布尔异步)954
System.Data.SqlClient.SqlCommand.RunExecuteReader(联合 mmandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,String method,DbAsyncResult result)+162
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,String method)+32
System.Data.SqlClient.SqlCommand.ExecuteReader (CommandBehavior behavior,String method)+141
System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)+12 System.Data.Common.DbCommand.ExecuteReader()+12
System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query,QueryInfo queryInfo,IObjectReaderFactory factory,Object [] parentArgs,Object [] userArgs,ICompiledSubQuery [] subQueries,Object lastResult)+975
System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query,QueryInfo [] queryInfos,IObjectReaderFactory factory ,对象[] userArguments,ICompiledSubQuery []子查询)113
System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(表达式查询)344
System.Data.L inq.DataQuery1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() +35 System.Linq.Buffer1..ctor(IEnumerable的1..ctor(IEnumerable的1..ctor(IEnumerable的1源)61 Mezza_crm.Controllers.ProjectsController.GetProjectList(NameValueCollection中形式)在C:\ mezza_crm\mezza_crm …
我是编程新手,虽然我已经教自己Python大约一年了,我不久前学过C#.
这个月我在我的大学开始了C++编程课程,我只想问; "为什么C++代码如此复杂?"
写"你好世界".在Python中就像"打印'Hello world.'"一样简单,但在C++中它是:
# include <iostream>
using namespace std;
int main ()
{
cout << "Hello world.";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我知道这可能是一个很好的理由但是,为什么......
这可能是因为我正在学习这样的基本C++,但到目前为止我所做的每个程序都是这样的,所以我必须一遍又一遍地重新输入相同的代码.这不是多余的吗?编译器本身无法输入此代码,因为它总是相同的(即afaik总是包含<iostream>,std,int main,return 0)
python ×2
.net ×1
android ×1
arrays ×1
asp.net-mvc ×1
batch-file ×1
boolean ×1
c# ×1
c++ ×1
coding-style ×1
ffmpeg ×1
form-submit ×1
forms ×1
gpl ×1
http-post ×1
if-statement ×1
java ×1
lgpl ×1
linq-to-sql ×1
powershell ×1
scripting ×1
syntax ×1
trim ×1