我有一个带有引用的dll的C#解决方案(也是具有相同.Net版本的C#).当我构建解决方案并运行生成的exe,而不合并exe和引用的DLL时,一切正常.
现在我想将这些合并到一个exe中.我运行ILMerge,一切似乎都正常.我尝试执行exe,它似乎运行正常,直到它尝试反序列化引用的DLL中定义的对象.
using (Stream fstream = new FileStream(file_path, FileMode.Open))
{
BinaryFormatter bf = new BinaryFormatter();
return bf.Deserialize(fstream) as ControlledRuleCollection;
// throws unable to find assembly exception
}
Run Code Online (Sandbox Code Playgroud)
可能有一些ILMerge选项我在这里丢失了吗?
有没有办法在XML中的某个点查询XmlSchema或XmlSchemaSet列出可用的标签/属性?所以说我的光标位于<b>和之间,</b>并且我的模式只允许在<c/>那里使用一个元素,我可以用C#内置的任何东西来解决这个问题吗?
<tagset>
<a></a>
<b><!-- CURSOR IS HERE --></b>
</tagset>
Run Code Online (Sandbox Code Playgroud) 当JDBC尝试将MySQL(5.1.51)中的有效日期时间转换为java.sql.timestamp时,将抛出java.sql.SQLException.一个例子是:
java.sql.SQLException: Cannot convert value '2012-04-05 10:20:00' from column 40 to TIMESTAMP
Run Code Online (Sandbox Code Playgroud)
这是第一次
Versions:
MySQL: 5.1.51
J/Connector: 5.1.19
Column Definition: DATETIME
Java Type: java.sql.Timestamp
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪:
Cannot convert value '2012-04-05 10:20:00' from column 40 to TIMESTAMP.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
at com.mysql.jdbc.ResultSetRow.getTimestampFast(ResultSetRow.java:1335)
at com.mysql.jdbc.BufferRow.getTimestampFast(BufferRow.java:576)
at com.mysql.jdbc.ResultSetImpl.getTimestampInternal(ResultSetImpl.java:6466)
at com.mysql.jdbc.ResultSetImpl.getTimestamp(ResultSetImpl.java:6066)
at com.mysql.jdbc.ResultSetImpl.getTimestamp(ResultSetImpl.java:6104)
at org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getTimestamp(DelegatingResultSet.java:300)
at org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getTimestamp(DelegatingResultSet.java:300)
at org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getTimestamp(DelegatingResultSet.java:300)
Run Code Online (Sandbox Code Playgroud)
DAO类最近没有被修改过.服务器上最近唯一的变化是将MySQL从5.1.46升级到5.1.51
在下面的代码示例中,我使用STaX解析器来解析一段XML.如果我通过它运行xml10,它按预期工作.xml11字符串(除了xml版本之外是相同的) - 它会抛出NullPointerException.我在使用JDK 1.6的Mac上运行它.
import javax.xml.namespace.QName;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamReader;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.StringReader;
import java.util.Stack;
/**
*/
public class StaxSucks {
static String xml10 ="<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n"+
"<anElement/>";
static String xml11 ="<?xml version=\"1.1\" encoding=\"utf-8\" ?>\n"+
"<anElement/>";
static void parse(InputStream is) throws Exception{
final XMLInputFactory factory = XMLInputFactory.newInstance();
factory.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, Boolean.FALSE);
final XMLStreamReader xmlStreamReader = factory.createXMLStreamReader(is);
Stack<QName> XMLDEPTH = new Stack<QName>();
int eventType = xmlStreamReader.next();
while(eventType != XMLStreamConstants.END_DOCUMENT){
if(XMLStreamConstants.START_ELEMENT == eventType){
QName eventName = xmlStreamReader.getName();
XMLDEPTH.push(eventName); …Run Code Online (Sandbox Code Playgroud) 我有一个名为Person的类,它包含一个属性LastName,它反映了一个与Person的姓氏相对应的字符串.
我创建了一个List如下:
var People = List<Person>
Run Code Online (Sandbox Code Playgroud)
我想要做的是按字母顺序按人员的LastName属性排序.
看了一些例子,我试过了
People = People.OrderBy(p => p.LastName);
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
所以我在Oracle数据库中有一个表,我基本上试图在C#中复制它的主键.我可以很好地加载表,但是当我尝试添加与oracle表相同的主键约束时,我收到此错误:
"These columns don't currently have unique values".
Run Code Online (Sandbox Code Playgroud)
这是代码
DataTable dt = new DataTable(combine(owner, name));
string q = "select " + getColumnSelect(owner, name) +
" from " + combine(owner, name) + " " +
(where_clause ?? "") + " order by " + getOrderByKeys(owner, name);
// load the data table
OracleDataAdapter oda = new OracleDataAdapter(q, conn);
oda.FillLoadOption = LoadOption.PreserveChanges;
dt.BeginLoadData();
oda.Fill(dt);
dt.EndLoadData();
// now set primary keys
List<DataColumn> cols = new List<DataColumn>();
foreach (string key in getKeys(owner, name))
{
cols.Add(dt.Columns[key]); …Run Code Online (Sandbox Code Playgroud)