在我目前的项目中,我正在制作每周版本.我一直在使用这篇文章中描述的技术来保持项目中所有程序集的版本号同步.(我现在没有任何理由单独跟踪组件的版本号,但我确信那一天最终会到来.)
当我推出一个版本时,我构建了一个新版本的安装程序.与可以从共享的SolutionInfo.cs文件中获取其版本号的所有程序集不同,安装程序的版本号不是最好的,我可以说是程序集属性.所以我的发布过程包括手动推进安装项目中的版本号.
或者,我应该说,通常包括这样做.我想把它变成我无法搞砸的东西.我发现设置和部署项目的文档令人惊讶地不透明(如果用户将其安装到非默认路径,那么找出如何使MSI正确卸载是非常困难的,这是一个非常疯狂的常见用例,无法记录)并且不知道是否有可能这样做.
有任何想法吗?
编辑:
只是为了澄清,这是我正在谈论的Visual Studio设置和部署项目.
在试图使我的Javascript不引人注目时,我正在使用onLoads来为<input>s等添加功能.使用Dojo,这看起来像:
var coolInput = dojo.byId('cool_input');
if(coolInput) {
dojo.addOnLoad(function() {
coolInput.onkeyup = function() { ... };
});
}
Run Code Online (Sandbox Code Playgroud)
或者,大致相当于:
dojo.addOnLoad(function() {
dojo.forEach(dojo.query('#cool_input'), function(elt) {
elt.onkeyup = function() { ... };
});
});
Run Code Online (Sandbox Code Playgroud)
有没有人写Ruby的的实现andand,这样我可以做到以下几点?
dojo.addOnLoad(function() {
// the input's onkeyup is set iff the input exists
dojo.byId('cool_input').andand().onkeyup = function() { ... };
});
Run Code Online (Sandbox Code Playgroud)
要么
dojo.byId('cool_input').andand(function(elt) {
// this function gets called with elt = the input iff it exists
dojo.addOnLoad(function() {
elt.onkeyup = function() { ... …Run Code Online (Sandbox Code Playgroud) 我有一个班级,我正在与DUnit进行单元测试.它有一些方法,一些公共方法和私有方法.
type
TAuth = class(TDataModule)
private
procedure PrivateMethod;
public
procedure PublicMethod;
end;
Run Code Online (Sandbox Code Playgroud)
为了为这个类编写单元测试,我必须公开所有的方法.
是否有一种不同的方式来声明私有方法,以便我仍然可以测试它们,但它们不公开?
我在递归C++程序中分配和释放内存时遇到问题.因此,如果不使用自动内存管理解决方案,我想知道是否有人可以帮我解决我遇到的内存泄漏问题.
以下代码基本上解释了问题(尽管这是一个人为的例子,请纠正我所犯的任何错误或简化).
一个数字类,用于保存数字的值:
class Number {
public:
Number() { value = 1; };
Number& operator + (const Number& n1) const {
Number result = value + n1.value;
return result;
};
int value;
};
Run Code Online (Sandbox Code Playgroud)
执行递归的两个函数:
Number& recurse(const Number& v1) {
Number* result = new Number();
Number one = Number();
*result = *result + recurse(one);
return *result;
}
int main(...) {
Number answer = Number();
answer = recurse(result);
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的那样,recurse函数中分配的内存被泄露了,但我不确定在哪里可以根据递归的性质释放这些内存?
我的雇主网站有多个主机名,所有主机名都在同一台服务器上,我们只是展示不同的皮肤用于品牌推广.
不幸的是,WCF似乎在这种情况下效果不佳.
我尝试用自定义主机工厂覆盖默认主机.
这不是一个可接受的解决方案,因为它需要在所有主机上工作,而不仅仅是1.
我也看了这篇博文,但要么我无法让它工作,要么它不是为了解决我的问题.
我得到的错误是"此集合已包含带有方案http的地址"
必须有一种方法来配置这个,请帮助:)
我听说在Windows上您可以从Web浏览器登录到Web服务器,而无需通过常用的登录输入用户名和密码,而是使用NTLM协议直接使用Windows中的凭据.
这是如何实现的?Web服务器是否需要支持一些额外的身份验证?
更新:我要的是通用的Web服务器,而不仅仅是IIS.例如,如何在Apache上执行此操作?
我正在使用SQL Server 2008.我的数据库大小近2GB.90%的是一个表(根据sp_spaceused),我需要的不是我的大部分工作.
我想知道是否有可能采用这个表,并将其备份在一个单独的文件中,允许我比这个更频繁地传输重要数据.
我的猜测是最简单的方法是创建一个新数据库,在那里创建表,将表内容复制到新数据库,删除表关系,删除表,创建指向另一个数据库的视图并使用该视图在我的应用程序中
但是,我想知道你是否有任何关于我现在可能不知道的不同策略的指示.
你能解释一下构造函数中的设置方法和原型对象之间的区别吗?下面的代码显示设置方法的这两种方式- say_hello而且say_bye都很好地工作:
function MessageClass() {
this.say_bye = function() { alert('see ya'); };
}
MessageClass.prototype.say_hello = function() { alert('hello'); };
x = new MessageClass();
x.say_hello();
x.say_bye();
Run Code Online (Sandbox Code Playgroud) 也许我遗漏了扩展方法的概念,但我无法访问KeyCollection类中的扩展方法,如下所示:http://msdn.microsoft.com/en-us/library/dk7e2d8e.aspx.
使用以下代码摘录:
Dictionary<int, int> foo = new Dictionary<int,int>();
foo.Add(1,1);
Dictionary<int, int>.KeyCollection kc = foo.Keys;
Run Code Online (Sandbox Code Playgroud)
我只能访问"标准"KeyCollection方法(CopyTo,Equals,Finalize等),但无法访问扩展方法(Aggregate,All,Any等).
任何帮助将不胜感激!谢谢!
c# ×3
delphi ×2
javascript ×2
.net-3.5 ×1
andand ×1
backup ×1
bold-delphi ×1
browser ×1
c++ ×1
constructor ×1
deployment ×1
dunit ×1
filegroup ×1
iis ×1
iis-6 ×1
memory ×1
memory-leaks ×1
ntlm ×1
orm ×1
prototype ×1
recursion ×1
ruby ×1
sql-server ×1
unit-testing ×1
wcf ×1
windows ×1