是否有工具或一些通用的方法将ASP.NET应用程序的所有文件打包成二进制形式,以防止在部署后进行修改?我想有一组签名的二进制文件和一个配置文件,用于我们允许客户修改的设置.有没有人试过这个,甚至有可能吗?
我会为一个光滑的商业产品支付合理的金额,以最小的麻烦做到这一点.
UPDATE
对不起,从答案我可以看出我不清楚.我的意思是直接打包所有文件,而不仅仅是代码文件.这意味着aspx,脚本,图像等.我不是要阻止逆向工程......这是一个可支持性问题,即避免处理客户弄乱文件带来的问题.
我在C#应用程序中有几种形式.我使用Visual Studio 2010 Beta,但是使用.NET 3.5和C#3.
我有一个基本形式,在Shd命名空间中称为FilteredQueryViewForm,我想要一些其他形式来继承它(因为它们基本上会做同样的事情,但有一些补充).
我在FilteredQueryViewForm类中将内容从private更改为protected,因此可以从派生表单中访问它们.在此之后,我创建了一个派生表单,并将基类设置为FilteredQueryViewForm.
派生类的设计者抱怨Shd.FilteredQueryViewForm没有任何构造函数......不管它有一个具有3个参数的事实.我认为参数可能是一个问题,所以我也创建了一个没有参数的(公共的,当然)构造函数,但它仍然不起作用.错误消息是相同的:
"找不到类型'Shd.FilteredQueryViewForm'的构造函数."
并且派生类的设计者不会加载.我已经尝试重新启动vs2010beta,重新创建派生表单,但似乎没有任何帮助.谷歌在这个问题上没有给我带来任何有用的结果.:(
这是Visual Studio 2010 Beta的问题吗?或者我做错了什么?
我无法理解为什么C#3.0中存在自动实现的属性语言功能.
你说的时候有什么不同
public string FirstName;
Run Code Online (Sandbox Code Playgroud)
比
public string FirstName { get; set; }
Run Code Online (Sandbox Code Playgroud) 我一直在努力解决这个问题,并决定把它扔出去:
我有3个型号,用户,连接,可疑
用户有许多连接,连接有一个可疑,通过case_id链接
用户通过其连接有许多嫌疑人.
代码如下:
class User < ActiveRecord::Base
has_many :followers
has_many :suspects, :through => :followers
end
class Connection < ActiveRecord::Base
belongs_to :user
belongs_to :suspect, :primary_key => :case_id , :foreign_key => :case_id
end
class Suspect < ActiveRecord::Base
belongs_to :connection, :primary_key => :case_id , :foreign_key => :case_id
end
Run Code Online (Sandbox Code Playgroud)
问题是belongs_to似乎忽略了:主键.
如果我做
u = User.find(:first)
u.suspects
Run Code Online (Sandbox Code Playgroud)
生成的SQL是:
SELECT `suspects`.* FROM `suspects` INNER JOIN `connections` ON `suspects`.id = `connections`.case_id WHERE ((`followers`.user_id = 1))
Run Code Online (Sandbox Code Playgroud)
但它应该是:
SELECT `suspects`.* FROM `suspects` INNER JOIN `connections` ON `suspects`.case_id = …Run Code Online (Sandbox Code Playgroud) 我想要扫描excel表,并用零替换任何出现的社会安全号码...我想用Excel.Interop尽可能地这样做,但我现在对任何事情都开放......这里是我的一些代码......过去几个月我在桌子上敲我的头......
// Get range and convert it to a string variable
Excel.Range _range =(Excel.Range)_excelApp.get_Range("A1:K1",Type.Missing);
// convert the value of our cells in our range
// to the string variable
string myString = _range.Cells.Value2.ToString();
// match any SSN e.g. 1236780909, 123-33-2445
if (Regex.IsMatch(myString, @"\b\d{3}\b\d{2}\b\d{4}"));
{
_range.Cells.Value2 = replaceSSN;
}
// save our workbook with a new name and create a backup
_excelWorkbook.SaveAs("Results.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, true, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
// close workbook
_excelWorkbook.Close(false, Type.Missing, Type.Missing);
// send … 我有一个Java背景,所以我习惯让Maven处理下载和保持最新的依赖关系的所有问题.但是在.NET环境中,我还没有找到一种管理所有这些外部依赖项的好方法.
这里的主要问题是我大规模生产解决方案,而且它们都倾向于依赖于相同的第三方dll.但我不想在每个解决方案下维护每个组件的单独副本.所以我需要一种方法将所有不同的解决方案链接到同一组dll.
我意识到一个解决方案可能是将外部库包含在所有解决方案中包含的"库项目"中,让其他项目通过它引用它们.(或者只是确保从所有项目的同一个地方引用外部dll.)
但有没有更好的方法来做到这一点?(最好使用Visual Studio的某种插件.)
我看过Visual Studio Dependency Manager,它似乎是一个完美的匹配,但是有没有人尝试过真实的?我也看过Maven的.NET端口,但不幸的是我对它们的状态并没有太深刻的印象.(但如果您认为我应该再试一次,请继续向他们推荐.)
那么解决这个问题最聪明的方法是什么?
更新:
我意识到我需要解释链接到同一组dll的意思.
我试图在这里实现的一件事是避免不同的解决方案引用每个组件的不同版本.如果我将组件更新为新版本,则应在下次构建时更新所有解决方案.这将迫使我确保所有解决方案都与最新组件保持同步.
更新2: 请注意,在NuGet或OpenWrap等工具存在之前,这是一个老问题.如果有人愿意提供更新,请继续,我将更改已接受的答案.
我使用HTML表为Drupal站点构建了一个日历模板,我有jQuery为每个空单元格添加一个"无文本"类:
$('table.calendar td:empty').addClass('no-text');
Run Code Online (Sandbox Code Playgroud)
这很好用,但我的问题是CMS WYSIWYG编辑器自动将HTML实体添加 到空单元格.因此,我试图事先找到并替换带有"真实"空间的实体,但是jQuery无法找到它们:
$('table.calendar td').each(function() {
var $this = $(this);
var t = $this.text();
$this.text(t.replace('[entity here]',''));
});
Run Code Online (Sandbox Code Playgroud)
替换普通字符串时,此代码段工作正常,但 似乎有所不同!
所以我的问题是:jQuery如何用于搜索和替换HTML实体?
我有一个简单的脚本来创建和删除文件夹,但是当我尝试删除文件夹时,它会出现错误.
代码:
<?php
if ($_POST['hidden']) {
$key = "../g_test/uploads";
$new_folder = $_POST['nazevS'];
$new_dir_path = $key."/".$new_folder;
$dir = mkdir($new_dir_path);
if($dir)
chmod ($new_dir_path, 0777);
}
if ($_POST['hiddenSS']) {
$key = "../g_test/uploads";
$new_folder = $_POST['nazevS'];
rmdir($key."/".$new_folder);
}
?>
Run Code Online (Sandbox Code Playgroud)
错误消息:
Warning: rmdir(../g_test/uploads/) [function.rmdir]: Permission denied in /home/free/howto.cz/m/mousemys/root/www/g_test/upload.php on line 51
Run Code Online (Sandbox Code Playgroud)
有谁知道如何删除文件夹(希望有里面的一切)?此外,如果您看到任何其他改进,代码可以,请随时告诉我.:-)
谢谢,迈克.