我的窗口表单应用程序有XML配置文件。每当我使用click一次发布它时,我需要使用一种方法(已经有)加密这个文件。因此,在部署的工具版本中,用户将无法读取该xml文件。我使用了 BeforePublish ,参考来自:https://msdn.microsoft.com/en-us/library/ms366724.aspx
我在.csproj文件中添加了以下行
<UsingTask TaskName="TestProject.SimpleTask" AssemblyName="TestProject" TaskFactory="SimpleTask" />
<Target Name="BeforePublish">
<SimpleTask />
</Target>
并添加了一个新类,如下所示:
public class SimpleTask : Microsoft.Build.Utilities.Task
{
public override bool Execute()
{
File.WriteAllText(@"D:\test.txt", "Working");
//Will add code to encrypt xml file here
return true;
}
}
但是当我尝试发布应用程序时,它会给出以下错误:
The task factory "SimpleTask" could not be loaded from the assembly "TestProject". Could not load file or assembly 'TestProject' or one of its dependencies. The system cannot find the file specified.
SimpleTask不依赖于任何其他dll。请帮帮我。 如果对同一问题有其他解决办法,请同时提出建议。提前谢谢。
答案 0 :(得分:0)
尝试添加AssemblyFile属性,在这里您可以指定程序集的路径:
<UsingTask TaskName="TestProject.SimpleTask" AssemblyName="TestProject"
TaskFactory="SimpleTask" AssemblyFile="c:\path\to\assembly\TestProject.exe" />